Systems and methods for providing visual feedback of a field of view

ABSTRACT

A wearable apparatus may include at least one image sensor configured to capture a plurality of images from an environment of a user of the wearable apparatus and at least one projector. The at least one light projector may be configured to emit a light pattern configured to visually indicate to the user of the wearable apparatus an active field of view of the at least one image sensor.

CROSS REFERENCES TO RELATED APPLICATIONS

This application claims the benefit of priority of U.S. ProvisionalPatent Application No. 62/413,103, filed Oct. 26, 2016; U.S. ProvisionalApplication No. 62/418,296, filed Nov. 7, 2016; U.S. ProvisionalApplication No. 62/418,300, filed Nov. 7, 2016; U.S. ProvisionalApplication No. 62/439,899, filed Dec. 29, 2016; and U.S. ProvisionalApplication No. 62/546,141 filed Aug. 16, 2017. All of the foregoingapplications are incorporated herein by reference in their entirety.

BACKGROUND Technical Field

This disclosure generally relates to devices and methods for capturingand processing images from an environment of a user, and usinginformation derived from captured images. More particularly, thisdisclosure relates to devices and methods for selection of a deviceaction based on a detected person.

Background Information

Today, technological advancements make it possible for wearable devicesto automatically capture images and store information that is associatedwith the captured images. Certain devices have been used to digitallyrecord aspects and personal experiences of one's life in an exercisetypically called “lifelogging.” Some individuals log their life so theycan retrieve moments from past activities, for example, social events,trips, etc. Lifelogging may also have significant benefits in otherfields (e.g., business, fitness and healthcare, and social research).Lifelogging devices, while useful for tracking daily activities, may beimproved with capability to enhance one's interaction in his environmentwith feedback and other advanced functionality based on the analysis ofcaptured image data.

Even though users can capture images with their smartphones and somesmartphone applications can process the captured images, smartphones maynot be the best platform for serving as lifelogging apparatuses in viewof their size and design. Lifelogging apparatuses should be small andlight, so they can be easily worn. Moreover, with improvements in imagecapture devices, including wearable apparatuses, additionalfunctionality may be provided to assist users in navigating in andaround an environment, identifying persons and objects they encounter,and providing feedback to the users about their surroundings andactivities. Therefore, there is a need for apparatuses and methods forautomatically capturing and processing images to provide usefulinformation to users of the apparatuses, and for systems and methods toprocess and leverage information gathered by the apparatuses.

SUMMARY

Embodiments consistent with the present disclosure provide devices andmethods for automatically capturing and processing images from anenvironment of a user, and systems and methods for processinginformation related to images captured from the environment of the user.

In one embodiment, a wearable apparatus for causing an action to beexecuted based on a person being present in an environment of a user ofthe wearable apparatus may comprise a wearable image sensor configuredto capture a plurality of images from the environment of the user of thewearable apparatus and at least one processing device. The at least oneprocessing device may be programmed to analyze at least one of theplurality of images to detect the person; analyze at least one of theplurality of images to identify an attribute of the detected person; andselect at least one category for the detected person based on theidentified attribute. The at least one processing device may be furtherprogrammed to select at least one action based on the at least onecategory and cause the at least one selected action to be executed.

In one embodiment, a method is provided for causing an action to beexecuted based on a person being present in an environment of a user ofa wearable apparatus. The method includes receiving a plurality ofimages captured by an image sensor of the wearable apparatus from theenvironment of the user of the wearable apparatus; analyzing at leastone of the plurality of images to detect the person; analyzing at leastone of the plurality of images to identify an attribute of the detectedperson; selecting at least one category for the detected person based onthe identified attribute; selecting at least one action based on the atleast one category; and causing the at least one selected action to beexecuted.

In one embodiment, a wearable apparatus for causing an action to beexecuted based on whether a person is physically present in anenvironment of a user of the wearable apparatus may comprise a wearableimage sensor configured to capture a plurality of images from theenvironment of the user of the wearable apparatus and at least oneprocessing device. The at least one processing device may be programmedto analyze at least one of the plurality of images to detect the personand analyze at least one of the plurality of images to determine whetherthe detected person is physically present in the environment of theuser. The at least one processing device may be further programmed toselect at least one action based on whether the detected person isphysically present in the environment of the user and cause the selectedat least one action to be executed.

In one embodiment, a wearable apparatus for causing an action to beexecuted based on whether a person is visible on a display of a devicein an environment of a user of the wearable apparatus may comprise awearable image sensor configured to capture a plurality of images fromthe environment of the user of the wearable apparatus and at least oneprocessing device. The at least one processing device may be programmedto analyze at least one of the plurality of images to detect the personand analyze at least one of the plurality of images to determine whetherthe detected person is visible on the display of the device. The atleast one processing device may be further programmed to select at leastone action based on whether the detected person is visible on thedisplay of the device and cause the at least one action to be executed.

In one embodiment, a wearable apparatus for causing an action to beexecuted based on whether a person is physically present in anenvironment of a user of the wearable apparatus may comprise a wearableimage sensor configured to capture a plurality of images from theenvironment of the user of the wearable apparatus and at least oneprocessing device. The at least one processing device may be programmedto analyze at least one of the plurality of images to detect the personand analyze at least one of the plurality of images to determine whetherthe detected person is physically present in the environment of the useror whether a graphical representation of the detected person appears inthe environment of the user. The at least one processing device may befurther programmed to select a first action after the determination ismade that the detected person is physically present in the environmentof the user, select a second action different from the first actionafter the determination is made that the graphical representation of thedetected person appears in the environment of the user, and cause thefirst action or the second action to be executed.

In one embodiment, a method for causing an action to be executed basedon whether a person is physically present in an environment of a user ofthe wearable apparatus may comprise receiving a plurality of images ofthe environment of the user from an image sensor of the wearableapparatus, analyzing at least one of the plurality of images to detectthe person, and analyzing at least one of the plurality of images todetermine whether the detected person is physically present in theenvironment of the user. The method may further comprise selecting atleast one action based on whether the detected person is physicallypresent in the environment of the user and causing the selected at leastone action to be executed.

In one embodiment, a method for causing an action to be executed basedon whether a person is visible on a display of a device in anenvironment of a user of the wearable apparatus may comprise receiving aplurality of images of the environment of the user from an image sensorof the wearable apparatus, analyzing at least one of the plurality ofimages to detect the person, and analyzing at least one of the pluralityof images to determine whether the detected person is visible on thedisplay of the device. The method may further comprise selecting atleast one action based on whether the detected person is visible on thedisplay of the device and causing the at least one action to beexecuted.

In one embodiment, a method for causing an action to be executed basedon whether a person is physically present in an environment of a user ofthe wearable apparatus may receiving a plurality of images of theenvironment of the user from an image sensor of the wearable apparatus,analyzing at least one of the plurality of images to detect the person,and analyzing at least one of the plurality of images to determinewhether the detected person is physically present in the environment ofthe user or whether a graphical representation of the detected personappears in the environment of the user. The method may further compriseselecting a first action after the determination is made that thedetected person is physically present in the environment of the user,selecting a second action different from the first action after thedetermination is made that the graphical representation of the detectedperson appears in the environment of the user, and causing the firstaction or the second action to be executed.

In one embodiment, a system for updating profile information based ondata collected by a wearable apparatus may comprise a database storing aplurality of profiles and at least one processing device. The at leastone processing device may be programmed to obtain identificationinformation associated with a person detected in one or more imagescaptured by a wearable image sensor included in the wearable apparatusand obtain, from the wearable apparatus, auxiliary informationassociated with the detected person. The at least one processing devicemay be further programmed to identify, in the database, a profileassociated with the detected person based on the identificationinformation and update the identified profile based on the auxiliaryinformation.

In one embodiment, a method is provided for updating profile informationbased on data collected by a wearable apparatus. The method may compriseobtaining identification information associated with a person detectedin one or more images captured by a wearable image sensor included inthe wearable apparatus and obtaining, from the wearable apparatus,auxiliary information associated with the detected person. The methodmay further comprise identifying, in a database storing a plurality ofprofiles, a profile associated with the detected person based on theidentification information and updating the identified profile based onthe auxiliary information.

In one embodiment, a system is provided for providing information to auser of a wearable apparatus. The system includes at least oneprocessing device programmed to identify a person represented in atleast one image captured by a wearable image sensor included in thewearable apparatus, obtain information associated with the personrepresented in the at least one captured image, and obtain at least oneaffinity measurement representing a degree of a relationship between theuser and the person. The at least one processing device is furtherprogrammed to determine, based on the at least one affinity measurement,an information level to be disclosed to the user of the wearableapparatus and provide, to the user of the wearable apparatus, theinformation based on the information associated with the person and onthe information level.

In one embodiment, a method is provided for providing information to auser of a wearable apparatus. The method includes identifying a personrepresented in at least one image captured by a wearable image sensorincluded in the wearable apparatus, obtaining information associatedwith the person represented in the at least one captured image, andobtaining at least one affinity measurement representing a degree of arelationship between the user and the person. The method furtherincludes determining, based on the at least one affinity measurement, aninformation level to be disclosed to the user of the wearable apparatusand providing, to the user of the wearable apparatus, the informationbased on the information associated with the person and on theinformation level.

In one embodiment, a wearable apparatus is provided for registering averbal contract. The wearable apparatus includes at least one imagesensor configured to capture a plurality of images from an environmentof a user of the wearable apparatus and at least one audio sensorconfigured to capture audio data from the environment of the user of thewearable apparatus. The wearable apparatus also includes at least oneprocessing device programmed to analyze the plurality of images todetect a person in the environment of the user of the wearableapparatus, obtain identification information associated with thedetected person, analyze at least a portion of the audio data toidentify one or more words associated with the verbal contract andspoken by the user of the wearable apparatus or the detected person, andobtain at least one profile of the user. The at least one processingdevice is also programmed to authenticate an identity of the user basedon the at least one profile of the user and, based on the authenticationof the identity of the user, register the verbal contract and theidentification information associated with the detected person.

In another embodiment, a method is provided for registering a verbalcontract. The method includes analyzing a plurality of images capturedby at least one image sensor from an environment of a user of a wearableapparatus to detect a person in the environment of the user of thewearable apparatus, obtaining identification information associated withthe detected person, and analyzing at least a portion of audio datacaptured by at least one audio sensor from the environment of the userof the wearable apparatus to identify one or more words associated withthe verbal contract and spoken by the user of the wearable apparatus orthe detected person. The method also includes obtaining at least oneprofile of the user, authenticating an identity of the user based on theat least one profile of the user and, based on the authentication of theidentity of the user, registering the verbal contract and theidentification information associated with the detected person.

In one embodiment, a wearable apparatus for providing information to auser of the wearable apparatus is disclosed. The apparatus may includeat least one image sensor configured to capture a plurality of imagesfrom an environment of the user of the wearable apparatus, at least onecommunication device, and at least one processing device. The processingdevice may be programmed to analyze at least one of the plurality ofimages to detect an object in the environment of the user of thewearable apparatus, determine a measurement of an estimated physicaldistance from the user to the object, and transmit, based on themeasurement and using the at least one communication device, informationrelated to the detected object.

In one embodiment, a method provides information to a user of a wearableapparatus. The method may be performed by at least one image sensor, atleast one communication device, and at least one processing device. Themethod may include capturing, via the at least one image sensor, aplurality of images from an environment of the user of the wearableapparatus, analyzing, via the at least one processing device, at leastone of the plurality of images to detect an object in the environment ofthe user of the wearable apparatus, determining a measurement of anestimated physical distance from the user to the object, andtransmitting based on the measurement and using the at least onecommunication device, information related to the detected object.

In one embodiment, a system for providing recommendations based onimages captured by a wearable apparatus is disclosed. The system mayinclude a wearable image sensor and at least one processing device. Theprocessing device may be programmed to analyze at least one imagecaptured by the wearable image sensor included in the wearable apparatusfrom an environment of a user of the wearable apparatus, obtaininformation based on a result of the analysis of the at least onecaptured image, generate at least one contact recommendation for atleast one new social network contact based on the obtained information,and provide the at least one contact recommendation to at least one ofthe user and at least one other person.

In one embodiment, a method provides recommendations based on imagescaptured by a wearable apparatus. The method may be performed by awearable image sensor and at least one processing device. The method mayinclude analyzing at least one image captured by the wearable imagesensor included in the wearable apparatus from an environment of a userof the wearable apparatus, obtaining information based on a result ofthe analysis of the at least one captured image, generating at least onecontact recommendation for at least one new social network contact basedon the obtained information, and providing the at least one contactrecommendation to at least one of the user and at least one otherperson.

In one embodiment, a wearable apparatus is disclosed. The apparatus mayinclude at least one image sensor configured to capture a plurality ofimages from an environment of a user of the wearable apparatus, and atleast one projector configured to emit a light pattern configured tovisually indicate to the user of the wearable apparatus an active fieldof view of the at least one image sensor.

In one embodiment, a method provides visual feedback to a user of awearable apparatus. The method may include capturing, via at least oneimage sensor included in the wearable apparatus, a plurality of imagesfrom an environment of the user of the wearable apparatus, activating atleast one projector included in the wearable apparatus based at least ona visual trigger appearing in at least one of the plurality of images,and emitting, via the at least one projector, a light pattern configuredto visually indicate to the user of the wearable apparatus an activefield of view of the at least one image sensor.

Consistent with other disclosed embodiments, non-transitorycomputer-readable storage media may store program instructions, whichare executed by at least one processor and perform any of the methodsdescribed herein.

The foregoing general description and the following detailed descriptionare exemplary and explanatory only and are not restrictive of theclaims.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this disclosure, illustrate various disclosed embodiments. Inthe drawings:

FIG. 1A is a schematic illustration of an example of a user wearing awearable apparatus according to a disclosed embodiment.

FIG. 1B is a schematic illustration of an example of the user wearing awearable apparatus according to a disclosed embodiment.

FIG. 1C is a schematic illustration of an example of the user wearing awearable apparatus according to a disclosed embodiment.

FIG. 1D is a schematic illustration of an example of the user wearing awearable apparatus according to a disclosed embodiment.

FIG. 2 is a schematic illustration of an example system consistent withthe disclosed embodiments.

FIG. 3A is a schematic illustration of an example of the wearableapparatus shown in FIG. 1A.

FIG. 3B is an exploded view of the example of the wearable apparatusshown in FIG. 3A.

FIG. 4A is a schematic illustration of an example of the wearableapparatus shown in FIG. 1B from a first viewpoint.

FIG. 4B is a schematic illustration of the example of the wearableapparatus shown in FIG. 1B from a second viewpoint.

FIG. 5A is a block diagram illustrating an example of the components ofa wearable apparatus according to a first embodiment.

FIG. 5B is a block diagram illustrating an example of the components ofa wearable apparatus according to a second embodiment.

FIG. 5C is a block diagram illustrating an example of the components ofa wearable apparatus according to a third embodiment.

FIG. 6 illustrates an exemplary embodiment of a memory containingsoftware modules consistent with the present disclosure.

FIG. 7 is a schematic illustration of an embodiment of a wearableapparatus including an orientable image capture unit.

FIG. 8 is a schematic illustration of an embodiment of a wearableapparatus securable to an article of clothing consistent with thepresent disclosure.

FIG. 9 is a schematic illustration of a user wearing a wearableapparatus consistent with an embodiment of the present disclosure.

FIG. 10 is a schematic illustration of an embodiment of a wearableapparatus securable to an article of clothing consistent with thepresent disclosure.

FIG. 11 is a schematic illustration of an embodiment of a wearableapparatus securable to an article of clothing consistent with thepresent disclosure.

FIG. 12 is a schematic illustration of an embodiment of a wearableapparatus securable to an article of clothing consistent with thepresent disclosure.

FIG. 13 is a schematic illustration of an embodiment of a wearableapparatus securable to an article of clothing consistent with thepresent disclosure.

FIG. 14 is a schematic illustration of an embodiment of a wearableapparatus securable to an article of clothing consistent with thepresent disclosure.

FIG. 15 is a schematic illustration of an embodiment of a wearableapparatus power unit including a power source.

FIG. 16 is a schematic illustration of an exemplary embodiment of awearable apparatus including protective circuitry.

FIG. 17 illustrates an exemplary embodiment of a memory containingsoftware modules for selecting an action based on a detected personconsistent with the present disclosure.

FIG. 18A is a schematic illustration of an example image captured by awearable apparatus consistent with an embodiment of the presentdisclosure.

FIG. 18B is a schematic illustration of another example image capturedby a wearable apparatus consistent with an embodiment of the presentdisclosure.

FIG. 19 is a flowchart of an example method for selecting an actionbased on a detected person consistent with the present disclosure.

FIG. 20 illustrates an exemplary embodiment of a memory containingsoftware modules for selecting an action based on a detected personconsistent with the present disclosure.

FIG. 21A is a schematic illustration of an example image captured by awearable apparatus consistent with an embodiment of the presentdisclosure.

FIG. 21B is a schematic illustration of another example image capturedby a wearable apparatus consistent with an embodiment of the presentdisclosure.

FIG. 22A is a flowchart of an example method for causing execution of anaction based on physical presence of a detected person consistent withthe present disclosure.

FIG. 22B is a flowchart of an example method for causing execution of anaction based on whether a detected person is visible on a displayconsistent with the present disclosure.

FIG. 22C is a flowchart of another example method for causing executionof an action based on physical presence of a detected person consistentwith the present disclosure.

FIG. 23 illustrates an exemplary embodiment of a memory containingsoftware modules for updating profile information based on datacollected by a wearable apparatus consistent with the presentdisclosure.

FIG. 24 is a schematic illustration of a profile stored in a database,consistent with an embodiment of the present disclosure.

FIG. 25 is a flowchart of an example method for updating profileinformation based on data collected by a wearable apparatus consistentwith the present disclosure.

FIG. 26 illustrates an exemplary embodiment of a memory containingsoftware modules consistent with the present disclosure.

FIG. 27 shows an example environment including a wearable apparatus forcapturing and processing images.

FIG. 28A is a flowchart illustrating an exemplary method for identifyinga person and information associated with the person.

FIG. 28B is a flowchart illustrating an exemplary method for determininga level of detail of information relating to the identified person andprovided to the user.

FIG. 29 illustrates an exemplary embodiment of a memory containingsoftware modules consistent with the present disclosure.

FIG. 30 shows an example environment including a wearable apparatus forcapturing and processing images and audio data.

FIG. 31A is a flowchart illustrating an exemplary method for analyzingimage and audio data captured by a wearable device.

FIG. 31B is a flowchart illustrating an exemplary method for registeringa verbal contract based on an analysis of captured image and audio data.

FIG. 31C is a flowchart illustrating an exemplary method for registeringinformation related to a witness to a verbal contract.

FIG. 32 illustrates an exemplary embodiment of a memory containingsoftware modules consistent with the present disclosure.

FIG. 33A is a schematic illustration of an example of a user wearing awearable apparatus and capturing an image of a person according to adisclosed embodiment.

FIG. 33B is a schematic illustration of an example of an update of asocial network profile according to a disclosed embodiment.

FIG. 33C is a schematic illustration of an example of a user wearing awearable apparatus and capturing an image of an object according to adisclosed embodiment.

FIG. 33D is a schematic illustration of an example of an update of asocial network profile according to a disclosed embodiment.

FIG. 34 is a flowchart of an example of a method for providinginformation to a user of a wearable apparatus.

FIG. 35 illustrates an exemplary embodiment of a memory containingsoftware modules consistent with the present disclosure.

FIG. 36A is a schematic illustration of an example of a user wearing awearable apparatus capturing an image of a person according to adisclosed embodiment.

FIG. 36B is a schematic illustration of an example of a contactrecommendation according to a disclosed embodiment.

FIG. 36C is a schematic illustration of an example of a user wearing awearable apparatus capturing an image of a person according to adisclosed embodiment.

FIG. 36D is a schematic illustration of an example of a contactrecommendation according to a disclosed embodiment.

FIG. 37 is a flowchart of an example of a method for providing contactrecommendations based on captured images to a user of a wearableapparatus.

FIG. 38A is a diagrammatic view of an apparatus including a lightprojector.

FIG. 38B is a diagrammatic view of a wearable apparatus securable to anarticle of clothing that includes a light projector consistent with thepresent disclosure.

FIG. 39 is a diagrammatic illustration of one example of a type ofvisual feedback that the light projector shown in FIG. 38A may provideto a user.

FIGS. 40A-40H are examples of various patterns that can be generated bythe light projector of FIG. 38A and/or by the light projector of FIG.38B.

FIG. 41 is a flowchart of an example of a method for providing visualfeedback to a user of a wearable apparatus.

DETAILED DESCRIPTION

The following detailed description refers to the accompanying drawings.Wherever possible, the same reference numbers are used in the drawingsand the following description to refer to the same or similar parts.While several illustrative embodiments are described herein,modifications, adaptations and other implementations are possible. Forexample, substitutions, additions or modifications may be made to thecomponents illustrated in the drawings, and the illustrative methodsdescribed herein may be modified by substituting, reordering, removing,or adding steps to the disclosed methods. Accordingly, the followingdetailed description is not limited to the disclosed embodiments andexamples. Instead, the proper scope is defined by the appended claims.

FIG. 1A illustrates a user 100 wearing an apparatus 110 that isphysically connected (or integral) to glasses 130, consistent with thedisclosed embodiments. Glasses 130 may be prescription glasses,magnifying glasses, non-prescription glasses, safety glasses,sunglasses, etc. Additionally, in some embodiments, glasses 130 mayinclude parts of a frame and earpieces, nosepieces, etc., and one or nolenses. Thus, in some embodiments, glasses 130 may function primarily tosupport apparatus 110, and/or an augmented reality display device orother optical display device. In some embodiments, apparatus 110 mayinclude an image sensor (not shown in FIG. 1A) for capturing real-timeimage data of the field-of-view of user 100. The term “image data”includes any form of data retrieved from optical signals in thenear-infrared, infrared, visible, and ultraviolet spectrums. The imagedata may include video clips and/or photographs.

In some embodiments, apparatus 110 may communicate wirelessly or via awire with a computing device 120. In some embodiments, computing device120 may include, for example, a smartphone, or a tablet, or a dedicatedprocessing unit, which may be portable (e.g., can be carried in a pocketof user 100). Although shown in FIG. 1A as an external device, in someembodiments, computing device 120 may be provided as part of wearableapparatus 110 or glasses 130, whether integral thereto or mountedthereon. In some embodiments, computing device 120 may be included in anaugmented reality display device or optical head mounted displayprovided integrally or mounted to glasses 130. In other embodiments,computing device 120 may be provided as part of another wearable orportable apparatus of user 100 including a wrist-strap, amultifunctional watch, a button, a clip-on, etc. And in otherembodiments, computing device 120 may be provided as part of anothersystem, such as an on-board automobile computing or navigation system. Aperson skilled in the art can appreciate that different types ofcomputing devices and arrangements of devices may implement thefunctionality of the disclosed embodiments. Accordingly, in otherimplementations, computing device 120 may include a Personal Computer(PC), laptop, an Internet server, etc.

FIG. 1B illustrates user 100 wearing apparatus 110 that is physicallyconnected to a necklace 140, consistent with a disclosed embodiment.Such a configuration of apparatus 110 may be suitable for users that donot wear glasses some or all of the time. In this embodiment, user 100can easily wear apparatus 110, and take it off.

FIG. 1C illustrates user 100 wearing apparatus 110 that is physicallyconnected to a belt 150, consistent with a disclosed embodiment. Such aconfiguration of apparatus 110 may be designed as a belt buckle.Alternatively, apparatus 110 may include a clip for attaching to variousclothing articles, such as belt 150, or a vest, a pocket, a collar, acap or hat or other portion of a clothing article.

FIG. 1D illustrates user 100 wearing apparatus 110 that is physicallyconnected to a wrist strap 160, consistent with a disclosed embodiment.Although the aiming direction of apparatus 110, according to thisembodiment, may not match the field-of-view of user 100, apparatus 110may include the ability to identify a hand-related trigger based on thetracked eye movement of a user 100 indicating that user 100 is lookingin the direction of the wrist strap 160. Wrist strap 160 may alsoinclude an accelerometer, a gyroscope, or other sensor for determiningmovement or orientation of a user's 100 hand for identifying ahand-related trigger.

FIG. 2 is a schematic illustration of an exemplary system 200 includinga wearable apparatus 110, worn by user 100, and an optional computingdevice 120 and/or a server 250 capable of communicating with apparatus110 via a network 240, consistent with disclosed embodiments. In someembodiments, apparatus 110 may capture and analyze image data, identifya hand-related trigger present in the image data, and perform an actionand/or provide feedback to a user 100, based at least in part on theidentification of the hand-related trigger. In some embodiments,optional computing device 120 and/or server 250 may provide additionalfunctionality to enhance interactions of user 100 with his or herenvironment, as described in greater detail below.

According to the disclosed embodiments, apparatus 110 may include animage sensor system 220 for capturing real-time image data of thefield-of-view of user 100. In some embodiments, apparatus 110 may alsoinclude a processing unit 210 for controlling and performing thedisclosed functionality of apparatus 110, such as to control the captureof image data, analyze the image data, and perform an action and/oroutput a feedback based on a hand-related trigger identified in theimage data. According to the disclosed embodiments, a hand-relatedtrigger may include a gesture performed by user 100 involving a portionof a hand of user 100. Further, consistent with some embodiments, ahand-related trigger may include a wrist-related trigger. Additionally,in some embodiments, apparatus 110 may include a feedback outputtingunit 230 for producing an output of information to user 100.

As discussed above, apparatus 110 may include an image sensor 220 forcapturing image data. The term “image sensor” refers to a device capableof detecting and converting optical signals in the near-infrared,infrared, visible, and ultraviolet spectrums into electrical signals.The electrical signals may be used to form an image or a video stream(i.e. image data) based on the detected signal. The term “image data”includes any form of data retrieved from optical signals in thenear-infrared, infrared, visible, and ultraviolet spectrums. Examples ofimage sensors may include semiconductor charge-coupled devices (CCD),active pixel sensors in complementary metal-oxide-semiconductor (CMOS),or N-type metal-oxide-semiconductor (NMOS, Live MOS). In some cases,image sensor 220 may be part of a camera included in apparatus 110.

Apparatus 110 may also include a processor 210 for controlling imagesensor 220 to capture image data and for analyzing the image dataaccording to the disclosed embodiments. As discussed in further detailbelow with respect to FIG. 5A, processor 210 may include a “processingdevice” for performing logic operations on one or more inputs of imagedata and other data according to stored or accessible softwareinstructions providing desired functionality. In some embodiments,processor 210 may also control feedback outputting unit 230 to providefeedback to user 100 including information based on the analyzed imagedata and the stored software instructions. As the term is used herein, a“processing device” may access memory where executable instructions arestored or, in some embodiments, a “processing device” itself may includeexecutable instructions (e.g., stored in memory included in theprocessing device).

In some embodiments, the information or feedback information provided touser 100 may include time information. The time information may includeany information related to a current time of day and, as describedfurther below, may be presented in any sensory perceptive manner. Insome embodiments, time information may include a current time of day ina preconfigured format (e.g., 2:30 pm or 14:30). Time information mayinclude the time in the user's current time zone (e.g., based on adetermined location of user 100), as well as an indication of the timezone and/or a time of day in another desired location. In someembodiments, time information may include a number of hours or minutesrelative to one or more predetermined times of day. For example, in someembodiments, time information may include an indication that three hoursand fifteen minutes remain until a particular hour (e.g., until 6:00pm), or some other predetermined time. Time information may also includea duration of time passed since the beginning of a particular activity,such as the start of a meeting or the start of a jog, or any otheractivity. In some embodiments, the activity may be determined based onanalyzed image data. In other embodiments, time information may alsoinclude additional information related to a current time and one or moreother routine, periodic, or scheduled events. For example, timeinformation may include an indication of the number of minutes remaininguntil the next scheduled event, as may be determined from a calendarfunction or other information retrieved from computing device 120 orserver 250, as discussed in further detail below.

Feedback outputting unit 230 may include one or more feedback systemsfor providing the output of information to user 100. In the disclosedembodiments, the audible or visual feedback may be provided via any typeof connected audible or visual system or both. Feedback of informationaccording to the disclosed embodiments may include audible feedback touser 100 (e.g., using a Bluetooth™ or other wired or wirelesslyconnected speaker, or a bone conduction headphone). Feedback outputtingunit 230 of some embodiments may additionally or alternatively produce avisible output of information to user 100, for example, as part of anaugmented reality display projected onto a lens of glasses 130 orprovided via a separate heads up display in communication with apparatus110, such as a display 260 provided as part of computing device 120,which may include an onboard automobile heads up display, an augmentedreality device, a virtual reality device, a smartphone, PC, table, etc.

The term “computing device” refers to a device including a processingunit and having computing capabilities. Some examples of computingdevice 120 include a PC, laptop, tablet, or other computing systems suchas an on-board computing system of an automobile, for example, eachconfigured to communicate directly with apparatus 110 or server 250 overnetwork 240. Another example of computing device 120 includes asmartphone having a display 260. In some embodiments, computing device120 may be a computing system configured particularly for apparatus 110,and may be provided integral to apparatus 110 or tethered thereto.Apparatus 110 can also connect to computing device 120 over network 240via any known wireless standard (e.g., Wi-Fi, Bluetooth®, etc.), as wellas near-filed capacitive coupling, and other short range wirelesstechniques, or via a wired connection. In an embodiment in whichcomputing device 120 is a smartphone, computing device 120 may have adedicated application installed therein. For example, user 100 may viewon display 260 data (e.g., images, video clips, extracted information,feedback information, etc.) that originate from or are triggered byapparatus 110. In addition, user 100 may select part of the data forstorage in server 250.

Network 240 may be a shared, public, or private network, may encompass awide area or local area, and may be implemented through any suitablecombination of wired and/or wireless communication networks. Network 240may further comprise an intranet or the Internet. In some embodiments,network 240 may include short range or near-field wireless communicationsystems for enabling communication between apparatus 110 and computingdevice 120 provided in close proximity to each other, such as on or neara user's person, for example. Apparatus 110 may establish a connectionto network 240 autonomously, for example, using a wireless module (e.g.,Wi-Fi, cellular). In some embodiments, apparatus 110 may use thewireless module when being connected to an external power source, toprolong battery life. Further, communication between apparatus 110 andserver 250 may be accomplished through any suitable communicationchannels, such as, for example, a telephone network, an extranet, anintranet, the Internet, satellite communications, off-linecommunications, wireless communications, transponder communications, alocal area network (LAN), a wide area network (WAN), and a virtualprivate network (VPN).

As shown in FIG. 2, apparatus 110 may transfer or receive data to/fromserver 250 via network 240. In the disclosed embodiments, the data beingreceived from server 250 and/or computing device 120 may includenumerous different types of information based on the analyzed imagedata, including information related to a commercial product, or aperson's identity, an identified landmark, and any other informationcapable of being stored in or accessed by server 250. In someembodiments, data may be received and transferred via computing device120. Server 250 and/or computing device 120 may retrieve informationfrom different data sources (e.g., a user specific database or a user'ssocial network account or other account, the Internet, and other managedor accessible databases) and provide information to apparatus 110related to the analyzed image data and a recognized trigger according tothe disclosed embodiments. In some embodiments, calendar-relatedinformation retrieved from the different data sources may be analyzed toprovide certain time information or a time-based context for providingcertain information based on the analyzed image data.

An example of wearable apparatus 110 incorporated with glasses 130according to some embodiments (as discussed in connection with FIG. 1A)is shown in greater detail in FIG. 3A. In some embodiments, apparatus110 may be associated with a structure (not shown in FIG. 3A) thatenables easy detaching and reattaching of apparatus 110 to glasses 130.In some embodiments, when apparatus 110 attaches to glasses 130, imagesensor 220 acquires a set aiming direction without the need fordirectional calibration. The set aiming direction of image sensor 220may substantially coincide with the field-of-view of user 100. Forexample, a camera associated with image sensor 220 may be installedwithin apparatus 110 in a predetermined angle in a position facingslightly downwards (e.g., 5-15 degrees from the horizon). Accordingly,the set aiming direction of image sensor 220 may substantially match thefield-of-view of user 100.

FIG. 3B is an exploded view of the components of the embodimentdiscussed regarding FIG. 3A. Attaching apparatus 110 to glasses 130 maytake place in the following way. Initially, a support 310 may be mountedon glasses 130 using a screw 320, in the side of support 310. Then,apparatus 110 may be clipped on support 310 such that it is aligned withthe field-of-view of user 100. The term “support” includes any device orstructure that enables detaching and reattaching of a device including acamera to a pair of glasses or to another object (e.g., a helmet).Support 310 may be made from plastic (e.g., polycarbonate), metal (e.g.,aluminum), or a combination of plastic and metal (e.g., carbon fibergraphite). Support 310 may be mounted on any kind of glasses (e.g.,eyeglasses, sunglasses, 3D glasses, safety glasses, etc.) using screws,bolts, snaps, or any fastening means used in the art.

In some embodiments, support 310 may include a quick release mechanismfor disengaging and reengaging apparatus 110. For example, support 310and apparatus 110 may include magnetic elements. As an alternativeexample, support 310 may include a male latch member and apparatus 110may include a female receptacle. In other embodiments, support 310 canbe an integral part of a pair of glasses, or sold separately andinstalled by an optometrist. For example, support 310 may be configuredfor mounting on the arms of glasses 130 near the frame front, but beforethe hinge. Alternatively, support 310 may be configured for mounting onthe bridge of glasses 130.

In some embodiments, apparatus 110 may be provided as part of a glassesframe 130, with or without lenses. Additionally, in some embodiments,apparatus 110 may be configured to provide an augmented reality displayprojected onto a lens of glasses 130 (if provided), or alternatively,may include a display for projecting time information, for example,according to the disclosed embodiments. Apparatus 110 may include theadditional display or alternatively, may be in communication with aseparately provided display system that may or may not be attached toglasses 130.

In some embodiments, apparatus 110 may be implemented in a form otherthan wearable glasses, as described above with respect to FIGS. 1B-1D,for example. FIG. 4A is a schematic illustration of an example of anadditional embodiment of apparatus 110 from a first viewpoint. Theviewpoint shown in FIG. 4A is from the front of apparatus 110. Apparatus110 includes an image sensor 220, a clip (not shown), a function button(not shown) and a hanging ring 410 for attaching apparatus 110 to, forexample, necklace 140, as shown in FIG. 1B. When apparatus 110 hangs onnecklace 140, the aiming direction of image sensor 220 may not fullycoincide with the field-of-view of user 100, but the aiming directionwould still correlate with the field-of-view of user 100.

FIG. 4B is a schematic illustration of the example of a secondembodiment of apparatus 110, from a second viewpoint. The viewpointshown in FIG. 4B is from a side orientation of apparatus 110. Inaddition to hanging ring 410, as shown in FIG. 4B, apparatus 110 mayfurther include a clip 420. User 100 can use clip 420 to attachapparatus 110 to a shirt or belt 150, as illustrated in FIG. 1C. Clip420 may provide an easy mechanism for disengaging and reengagingapparatus 110 from different articles of clothing. In other embodiments,apparatus 110 may include a female receptacle for connecting with a malelatch of a car mount or universal stand.

In some embodiments, apparatus 110 includes a function button 430 forenabling user 100 to provide input to apparatus 110. Function button 430may accept different types of tactile input (e.g., a tap, a click, adouble-click, a long press, a right-to-left slide, a left-to-rightslide). In some embodiments, each type of input may be associated with adifferent action. For example, a tap may be associated with the functionof taking a picture, while a right-to-left slide may be associated withthe function of recording a video.

The example embodiments discussed above with respect to FIGS. 3A, 3B,4A, and 4B are not limiting. In some embodiments, apparatus 110 may beimplemented in any suitable configuration for performing the disclosedmethods. For example, referring back to FIG. 2, the disclosedembodiments may implement an apparatus 110 according to anyconfiguration including an image sensor 220 and a processor unit 210 toperform image analysis and for communicating with a feedback unit 230.

FIG. 5A is a block diagram illustrating the components of apparatus 110according to an example embodiment. As shown in FIG. 5A, and assimilarly discussed above, apparatus 110 includes an image sensor 220, amemory 550, a processor 210, a feedback outputting unit 230, a wirelesstransceiver 530, and a mobile power source 520. In other embodiments,apparatus 110 may also include buttons, other sensors such as amicrophone, and inertial measurements devices such as accelerometers,gyroscopes, magnetometers, temperature sensors, color sensors, lightsensors, etc. Apparatus 110 may further include a data port 570 and apower connection 510 with suitable interfaces for connecting with anexternal power source or an external device (not shown).

Processor 210, depicted in FIG. 5A, may include any suitable processingdevice. The term “processing device” includes any physical device havingan electric circuit that performs a logic operation on input or inputs.For example, processing device may include one or more integratedcircuits, microchips, microcontrollers, microprocessors, all or part ofa central processing unit (CPU), graphics processing unit (GPU), digitalsignal processor (DSP), field-programmable gate array (FPGA), or othercircuits suitable for executing instructions or performing logicoperations. The instructions executed by the processing device may, forexample, be pre-loaded into a memory integrated with or embedded intothe processing device or may be stored in a separate memory (e.g.,memory 550). Memory 550 may comprise a Random Access Memory (RAM), aRead-Only Memory (ROM), a hard disk, an optical disk, a magnetic medium,a flash memory, other permanent, fixed, or volatile memory, or any othermechanism capable of storing instructions.

Although, in the embodiment illustrated in FIG. 5A, apparatus 110includes one processing device (e.g., processor 210), apparatus 110 mayinclude more than one processing device. Each processing device may havea similar construction, or the processing devices may be of differingconstructions that are electrically connected or disconnected from eachother. For example, the processing devices may be separate circuits orintegrated in a single circuit. When more than one processing device isused, the processing devices may be configured to operate independentlyor collaboratively. The processing devices may be coupled electrically,magnetically, optically, acoustically, mechanically or by other meansthat permit them to interact.

In some embodiments, processor 210 may process a plurality of imagescaptured from the environment of user 100 to determine differentparameters related to capturing subsequent images. For example,processor 210 can determine, based on information derived from capturedimage data, a value for at least one of the following: an imageresolution, a compression ratio, a cropping parameter, frame rate, afocus point, an exposure time, an aperture size, and a lightsensitivity. The determined value may be used in capturing at least onesubsequent image. Additionally, processor 210 can detect imagesincluding at least one hand-related trigger in the environment of theuser and perform an action and/or provide an output of information to auser via feedback outputting unit 230.

In another embodiment, processor 210 can change the aiming direction ofimage sensor 220. For example, when apparatus 110 is attached with clip420, the aiming direction of image sensor 220 may not coincide with thefield-of-view of user 100. Processor 210 may recognize certainsituations from the analyzed image data and adjust the aiming directionof image sensor 220 to capture relevant image data. For example, in oneembodiment, processor 210 may detect an interaction with anotherindividual and sense that the individual is not fully in view, becauseimage sensor 220 is tilted down. Responsive thereto, processor 210 mayadjust the aiming direction of image sensor 220 to capture image data ofthe individual. Other scenarios are also contemplated where processor210 may recognize the need to adjust an aiming direction of image sensor220.

In some embodiments, processor 210 may communicate data tofeedback-outputting unit 230, which may include any device configured toprovide information to a user 100. Feedback outputting unit 230 may beprovided as part of apparatus 110 (as shown) or may be provided externalto apparatus 110 and communicatively coupled thereto.Feedback-outputting unit 230 may be configured to output visual ornonvisual feedback based on signals received from processor 210, such aswhen processor 210 recognizes a hand-related trigger in the analyzedimage data.

The term “feedback” refers to any output or information provided inresponse to processing at least one image in an environment. In someembodiments, as similarly described above, feedback may include anaudible or visible indication of time information, detected text ornumerals, the value of currency, a branded product, a person's identity,the identity of a landmark or other environmental situation or conditionincluding the street names at an intersection or the color of a trafficlight, etc., as well as other information associated with each of these.For example, in some embodiments, feedback may include additionalinformation regarding the amount of currency still needed to complete atransaction, information regarding the identified person, historicalinformation or times and prices of admission etc. of a detected landmarketc. In some embodiments, feedback may include an audible tone, atactile response, and/or information previously recorded by user 100.Feedback-outputting unit 230 may comprise appropriate components foroutputting acoustical and tactile feedback. For example,feedback-outputting unit 230 may comprise audio headphones, a hearingaid type device, a speaker, a bone conduction headphone, interfaces thatprovide tactile cues, vibrotactile stimulators, etc. In someembodiments, processor 210 may communicate signals with an externalfeedback outputting unit 230 via a wireless transceiver 530, a wiredconnection, or some other communication interface. In some embodiments,feedback outputting unit 230 may also include any suitable displaydevice for visually displaying information to user 100.

As shown in FIG. 5A, apparatus 110 includes memory 550. Memory 550 mayinclude one or more sets of instructions accessible to processor 210 toperform the disclosed methods, including instructions for recognizing ahand-related trigger in the image data. In some embodiments memory 550may store image data (e.g., images, videos) captured from theenvironment of user 100. In addition, memory 550 may store informationspecific to user 100, such as image representations of knownindividuals, favorite products, personal items, and calendar orappointment information, etc. In some embodiments, processor 210 maydetermine, for example, which type of image data to store based onavailable storage space in memory 550. In another embodiment, processor210 may extract information from the image data stored in memory 550.

As further shown in FIG. 5A, apparatus 110 includes mobile power source520. The term “mobile power source” includes any device capable ofproviding electrical power, which can be easily carried by hand (e.g.,mobile power source 520 may weigh less than a pound). The mobility ofthe power source enables user 100 to use apparatus 110 in a variety ofsituations. In some embodiments, mobile power source 520 may include oneor more batteries (e.g., nickel-cadmium batteries, nickel-metal hydridebatteries, and lithium-ion batteries) or any other type of electricalpower supply. In other embodiments, mobile power source 520 may berechargeable and contained within a casing that holds apparatus 110. Inyet other embodiments, mobile power source 520 may include one or moreenergy harvesting devices for converting ambient energy into electricalenergy (e.g., portable solar power units, human vibration units, etc.).

Mobile power source 520 may power one or more wireless transceivers(e.g., wireless transceiver 530 in FIG. 5A). The term “wirelesstransceiver” refers to any device configured to exchange transmissionsover an air interface by use of radio frequency, infrared frequency,magnetic field, or electric field. Wireless transceiver 530 may use anyknown standard to transmit and/or receive data (e.g., Wi-Fi, Bluetooth®,Bluetooth Smart, 802.15.4, or ZigBee). In some embodiments, wirelesstransceiver 530 may transmit data (e.g., raw image data, processed imagedata, extracted information) from apparatus 110 to computing device 120and/or server 250. Wireless transceiver 530 may also receive data fromcomputing device 120 and/or server 250. In other embodiments, wirelesstransceiver 530 may transmit data and instructions to an externalfeedback outputting unit 230.

FIG. 5B is a block diagram illustrating the components of apparatus 110according to another example embodiment. In some embodiments, apparatus110 includes a first image sensor 220 a, a second image sensor 220 b, amemory 550, a first processor 210 a, a second processor 210 b, afeedback outputting unit 230, a wireless transceiver 530, a mobile powersource 520, and a power connector 510. In the arrangement shown in FIG.5B, each of the image sensors may provide images in a different imageresolution, or face a different direction. Alternatively, each imagesensor may be associated with a different camera (e.g., a wide anglecamera, a narrow angle camera, an IR camera, etc.). In some embodiments,apparatus 110 can select which image sensor to use based on variousfactors. For example, processor 210 a may determine, based on availablestorage space in memory 550, to capture subsequent images in a certainresolution.

Apparatus 110 may operate in a first processing-mode and in a secondprocessing-mode, such that the first processing-mode may consume lesspower than the second processing-mode. For example, in the firstprocessing-mode, apparatus 110 may capture images and process thecaptured images to make real-time decisions based on an identifyinghand-related trigger, for example. In the second processing-mode,apparatus 110 may extract information from stored images in memory 550and delete images from memory 550. In some embodiments, mobile powersource 520 may provide more than fifteen hours of processing in thefirst processing-mode and about three hours of processing in the secondprocessing-mode. Accordingly, different processing-modes may allowmobile power source 520 to produce sufficient power for poweringapparatus 110 for various time periods (e.g., more than two hours, morethan four hours, more than ten hours, etc.).

In some embodiments, apparatus 110 may use first processor 210 a in thefirst processing-mode when powered by mobile power source 520, andsecond processor 210 b in the second processing-mode when powered byexternal power source 580 that is connectable via power connector 510.In other embodiments, apparatus 110 may determine, based on predefinedconditions, which processors or which processing modes to use. Apparatus110 may operate in the second processing-mode even when apparatus 110 isnot powered by external power source 580. For example, apparatus 110 maydetermine that it should operate in the second processing-mode whenapparatus 110 is not powered by external power source 580, if theavailable storage space in memory 550 for storing new image data islower than a predefined threshold.

Although one wireless transceiver is depicted in FIG. 5B, apparatus 110may include more than one wireless transceiver (e.g., two wirelesstransceivers). In an arrangement with more than one wirelesstransceiver, each of the wireless transceivers may use a differentstandard to transmit and/or receive data. In some embodiments, a firstwireless transceiver may communicate with server 250 or computing device120 using a cellular standard (e.g., LTE or GSM), and a second wirelesstransceiver may communicate with server 250 or computing device 120using a short-range standard (e.g., Wi-Fi or Bluetooth®). In someembodiments, apparatus 110 may use the first wireless transceiver whenthe wearable apparatus is powered by a mobile power source included inthe wearable apparatus, and use the second wireless transceiver when thewearable apparatus is powered by an external power source.

FIG. 5C is a block diagram illustrating the components of apparatus 110according to another example embodiment including computing device 120.In this embodiment, apparatus 110 includes an image sensor 220, a memory550 a, a first processor 210, a feedback-outputting unit 230, a wirelesstransceiver 530 a, a mobile power source 520, and a power connector 510.As further shown in FIG. 5C, computing device 120 includes a processor540, a feedback-outputting unit 545, a memory 550 b, a wirelesstransceiver 530 b, and a display 260. One example of computing device120 is a smartphone or tablet having a dedicated application installedtherein. In other embodiments, computing device 120 may include anyconfiguration such as an on-board automobile computing system, a PC, alaptop, and any other system consistent with the disclosed embodiments.In this example, user 100 may view feedback output in response toidentification of a hand-related trigger on display 260. Additionally,user 100 may view other data (e.g., images, video clips, objectinformation, schedule information, extracted information, etc.) ondisplay 260. In addition, user 100 may communicate with server 250 viacomputing device 120.

In some embodiments, processor 210 and processor 540 are configured toextract information from captured image data. The term “extractinginformation” includes any process by which information associated withobjects, individuals, locations, events, etc., is identified in thecaptured image data by any means known to those of ordinary skill in theart. In some embodiments, apparatus 110 may use the extractedinformation to send feedback or other real-time indications to feedbackoutputting unit 230 or to computing device 120. In some embodiments,processor 210 may identify in the image data the individual standing infront of user 100, and send computing device 120 the name of theindividual and the last time user 100 met the individual. In anotherembodiment, processor 210 may identify in the image data, one or morevisible triggers, including a hand-related trigger, and determinewhether the trigger is associated with a person other than the user ofthe wearable apparatus to selectively determine whether to perform anaction associated with the trigger. One such action may be to provide afeedback to user 100 via feedback-outputting unit 230 provided as partof (or in communication with) apparatus 110 or via a feedback unit 545provided as part of computing device 120. For example,feedback-outputting unit 545 may be in communication with display 260 tocause the display 260 to visibly output information. In someembodiments, processor 210 may identify in the image data a hand-relatedtrigger and send computing device 120 an indication of the trigger.Processor 540 may then process the received trigger information andprovide an output via feedback outputting unit 545 or display 260 basedon the hand-related trigger. In other embodiments, processor 540 maydetermine a hand-related trigger and provide suitable feedback similarto the above, based on image data received from apparatus 110. In someembodiments, processor 540 may provide instructions or otherinformation, such as environmental information to apparatus 110 based onan identified hand-related trigger.

In some embodiments, processor 210 may identify other environmentalinformation in the analyzed images, such as an individual standing infront user 100, and send computing device 120 information related to theanalyzed information such as the name of the individual and the lasttime user 100 met the individual. In a different embodiment, processor540 may extract statistical information from captured image data andforward the statistical information to server 250. For example, certaininformation regarding the types of items a user purchases, or thefrequency a user patronizes a particular merchant, etc. may bedetermined by processor 540. Based on this information, server 250 maysend computing device 120 coupons and discounts associated with theuser's preferences.

When apparatus 110 is connected or wirelessly connected to computingdevice 120, apparatus 110 may transmit at least part of the image datastored in memory 550 a for storage in memory 550 b. In some embodiments,after computing device 120 confirms that transferring the part of imagedata was successful, processor 540 may delete the part of the imagedata. The term “delete” means that the image is marked as ‘deleted’ andother image data may be stored instead of it, but does not necessarilymean that the image data was physically removed from the memory.

As will be appreciated by a person skilled in the art having the benefitof this disclosure, numerous variations and/or modifications may be madeto the disclosed embodiments. Not all components are essential for theoperation of apparatus 110. Any component may be located in anyappropriate apparatus and the components may be rearranged into avariety of configurations while providing the functionality of thedisclosed embodiments. For example, in some embodiments, apparatus 110may include a camera, a processor, and a wireless transceiver forsending data to another device. Therefore, the foregoing configurationsare examples and, regardless of the configurations discussed above,apparatus 110 can capture, store, and/or process images.

Further, the foregoing and following description refers to storingand/or processing images or image data. In the embodiments disclosedherein, the stored and/or processed images or image data may comprise arepresentation of one or more images captured by image sensor 220. Asthe term is used herein, a “representation” of an image (or image data)may include an entire image or a portion of an image. A representationof an image (or image data) may have the same resolution or a lowerresolution as the image (or image data), and/or a representation of animage (or image data) may be altered in some respect (e.g., becompressed, have a lower resolution, have one or more colors that arealtered, etc.).

For example, apparatus 110 may capture an image and store arepresentation of the image that is compressed as a .JPG file. Asanother example, apparatus 110 may capture an image in color, but storea black-and-white representation of the color image. As yet anotherexample, apparatus 110 may capture an image and store a differentrepresentation of the image (e.g., a portion of the image). For example,apparatus 110 may store a portion of an image that includes a face of aperson who appears in the image, but that does not substantially includethe environment surrounding the person. Similarly, apparatus 110 may,for example, store a portion of an image that includes a product thatappears in the image, but does not substantially include the environmentsurrounding the product. As yet another example, apparatus 110 may storea representation of an image at a reduced resolution (i.e., at aresolution that is of a lower value than that of the captured image).Storing representations of images may allow apparatus 110 to savestorage space in memory 550. Furthermore, processing representations ofimages may allow apparatus 110 to improve processing efficiency and/orhelp to preserve battery life.

In addition to the above, in some embodiments, any one of apparatus 110or computing device 120, via processor 210 or 540, may further processthe captured image data to provide additional functionality to recognizeobjects and/or gestures and/or other information in the captured imagedata. In some embodiments, actions may be taken based on the identifiedobjects, gestures, or other information. In some embodiments, processor210 or 540 may identify in the image data, one or more visible triggers,including a hand-related trigger, and determine whether the trigger isassociated with a person other than the user to determine whether toperform an action associated with the trigger.

Some embodiments of the present disclosure may include an apparatussecurable to an article of clothing of a user. Such an apparatus mayinclude two portions, connectable by a connector. A capturing unit maybe designed to be worn on the outside of a user's clothing, and mayinclude an image sensor for capturing images of a user's environment.The capturing unit may be connected to or connectable to a power unit,which may be configured to house a power source and a processing device.The capturing unit may be a small device including a camera or otherdevice for capturing images. The capturing unit may be designed to beinconspicuous and unobtrusive, and may be configured to communicate witha power unit concealed by a user's clothing. The power unit may includebulkier aspects of the system, such as transceiver antennas, at leastone battery, a processing device, etc. In some embodiments,communication between the capturing unit and the power unit may beprovided by a data cable included in the connector, while in otherembodiments, communication may be wirelessly achieved between thecapturing unit and the power unit. Some embodiments may permitalteration of the orientation of an image sensor of the capture unit,for example to better capture images of interest.

FIG. 6 illustrates an exemplary embodiment of a memory containingsoftware modules consistent with the present disclosure. Included inmemory 550 are orientation identification module 601, orientationadjustment module 602, and motion tracking module 603. Modules 601, 602,603 may contain software instructions for execution by at least oneprocessing device, e.g., processor 210, included with a wearableapparatus. Orientation identification module 601, orientation adjustmentmodule 602, and motion tracking module 603 may cooperate to provideorientation adjustment for a capturing unit incorporated into wirelessapparatus 110.

FIG. 7 illustrates an exemplary capturing unit 710 including anorientation adjustment unit 705. Orientation adjustment unit 705 may beconfigured to permit the adjustment of image sensor 220. As illustratedin FIG. 7, orientation adjustment unit 705 may include an eye-ball typeadjustment mechanism. In alternative embodiments, orientation adjustmentunit 705 may include gimbals, adjustable stalks, pivotable mounts, andany other suitable unit for adjusting an orientation of image sensor220.

Image sensor 220 may be configured to be movable with the head of user100 in such a manner that an aiming direction of image sensor 220substantially coincides with a field of view of user 100. For example,as described above, a camera associated with image sensor 220 may beinstalled within capturing unit 710 at a predetermined angle in aposition facing slightly upwards or downwards, depending on an intendedlocation of capturing unit 710. Accordingly, the set aiming direction ofimage sensor 220 may match the field-of-view of user 100. In someembodiments, processor 210 may change the orientation of image sensor220 using image data provided from image sensor 220. For example,processor 210 may recognize that a user is reading a book and determinethat the aiming direction of image sensor 220 is offset from the text.That is, because the words in the beginning of each line of text are notfully in view, processor 210 may determine that image sensor 220 istilted in the wrong direction. Responsive thereto, processor 210 mayadjust the aiming direction of image sensor 220.

Orientation identification module 601 may be configured to identify anorientation of an image sensor 220 of capturing unit 710. An orientationof an image sensor 220 may be identified, for example, by analysis ofimages captured by image sensor 220 of capturing unit 710, by tilt orattitude sensing devices within capturing unit 710, and by measuring arelative direction of orientation adjustment unit 705 with respect tothe remainder of capturing unit 710.

Orientation adjustment module 602 may be configured to adjust anorientation of image sensor 220 of capturing unit 710. As discussedabove, image sensor 220 may be mounted on an orientation adjustment unit705 configured for movement. Orientation adjustment unit 705 may beconfigured for rotational and/or lateral movement in response tocommands from orientation adjustment module 602. In some embodimentsorientation adjustment unit 705 may be adjust an orientation of imagesensor 220 via motors, electromagnets, permanent magnets, and/or anysuitable combination thereof.

In some embodiments, monitoring module 603 may be provided forcontinuous monitoring. Such continuous monitoring may include tracking amovement of at least a portion of an object included in one or moreimages captured by the image sensor. For example, in one embodiment,apparatus 110 may track an object as long as the object remainssubstantially within the field-of-view of image sensor 220. Inadditional embodiments, monitoring module 603 may engage orientationadjustment module 602 to instruct orientation adjustment unit 705 tocontinually orient image sensor 220 towards an object of interest. Forexample, in one embodiment, monitoring module 603 may cause image sensor220 to adjust an orientation to ensure that a certain designated object,for example, the face of a particular person, remains within thefield-of view of image sensor 220, even as that designated object movesabout. In another embodiment, monitoring module 603 may continuouslymonitor an area of interest included in one or more images captured bythe image sensor. For example, a user may be occupied by a certain task,for example, typing on a laptop, while image sensor 220 remains orientedin a particular direction and continuously monitors a portion of eachimage from a series of images to detect a trigger or other event. Forexample, image sensor 210 may be oriented towards a piece of laboratoryequipment and monitoring module 603 may be configured to monitor astatus light on the laboratory equipment for a change in status, whilethe user's attention is otherwise occupied.

In some embodiments consistent with the present disclosure, capturingunit 710 may include a plurality of image sensors 220. The plurality ofimage sensors 220 may each be configured to capture different imagedata. For example, when a plurality of image sensors 220 are provided,the image sensors 220 may capture images having different resolutions,may capture wider or narrower fields of view, and may have differentlevels of magnification. Image sensors 220 may be provided with varyinglenses to permit these different configurations. In some embodiments, aplurality of image sensors 220 may include image sensors 220 havingdifferent orientations. Thus, each of the plurality of image sensors 220may be pointed in a different direction to capture different images. Thefields of view of image sensors 220 may be overlapping in someembodiments. The plurality of image sensors 220 may each be configuredfor orientation adjustment, for example, by being paired with an imageadjustment unit 705. In some embodiments, monitoring module 603, oranother module associated with memory 550, may be configured toindividually adjust the orientations of the plurality of image sensors220 as well as to turn each of the plurality of image sensors 220 on oroff as may be required. In some embodiments, monitoring an object orperson captured by an image sensor 220 may include tracking movement ofthe object across the fields of view of the plurality of image sensors220.

Embodiments consistent with the present disclosure may includeconnectors configured to connect a capturing unit and a power unit of awearable apparatus. Capturing units consistent with the presentdisclosure may include least one image sensor configured to captureimages of an environment of a user. Power units consistent with thepresent disclosure may be configured to house a power source and/or atleast one processing device. Connectors consistent with the presentdisclosure may be configured to connect the capturing unit and the powerunit, and may be configured to secure the apparatus to an article ofclothing such that the capturing unit is positioned over an outersurface of the article of clothing and the power unit is positionedunder an inner surface of the article of clothing. Exemplary embodimentsof capturing units, connectors, and power units consistent with thedisclosure are discussed in further detail with respect to FIGS. 8-14.

FIG. 8 is a schematic illustration of an embodiment of wearableapparatus 110 securable to an article of clothing consistent with thepresent disclosure. As illustrated in FIG. 8, capturing unit 710 andpower unit 720 may be connected by a connector 730 such that capturingunit 710 is positioned on one side of an article of clothing 750 andpower unit 720 is positioned on the opposite side of the clothing 750.In some embodiments, capturing unit 710 may be positioned over an outersurface of the article of clothing 750 and power unit 720 may be locatedunder an inner surface of the article of clothing 750. The power unit720 may be configured to be placed against the skin of a user.

Capturing unit 710 may include an image sensor 220 and an orientationadjustment unit 705 (as illustrated in FIG. 7). Power unit 720 mayinclude mobile power source 520 and processor 210. Power unit 720 mayfurther include any combination of elements previously discussed thatmay be a part of wearable apparatus 110, including, but not limited to,wireless transceiver 530, feedback outputting unit 230, memory 550, anddata port 570.

Connector 730 may include a clip 715 or other mechanical connectiondesigned to clip or attach capturing unit 710 and power unit 720 to anarticle of clothing 750 as illustrated in FIG. 8. As illustrated, clip715 may connect to each of capturing unit 710 and power unit 720 at aperimeter thereof, and may wrap around an edge of the article ofclothing 750 to affix the capturing unit 710 and power unit 720 inplace. Connector 730 may further include a power cable 760 and a datacable 770. Power cable 760 may be capable of conveying power from mobilepower source 520 to image sensor 220 of capturing unit 710. Power cable760 may also be configured to provide power to any other elements ofcapturing unit 710, e.g., orientation adjustment unit 705. Data cable770 may be capable of conveying captured image data from image sensor220 in capturing unit 710 to processor 800 in the power unit 720. Datacable 770 may be further capable of conveying additional data betweencapturing unit 710 and processor 800, e.g., control instructions fororientation adjustment unit 705.

FIG. 9 is a schematic illustration of a user 100 wearing a wearableapparatus 110 consistent with an embodiment of the present disclosure.As illustrated in FIG. 9, capturing unit 710 is located on an exteriorsurface of the clothing 750 of user 100. Capturing unit 710 is connectedto power unit 720 (not seen in this illustration) via connector 730,which wraps around an edge of clothing 750.

In some embodiments, connector 730 may include a flexible printedcircuit board (PCB). FIG. 10 illustrates an exemplary embodiment whereinconnector 730 includes a flexible printed circuit board 765. Flexibleprinted circuit board 765 may include data connections and powerconnections between capturing unit 710 and power unit 720. Thus, in someembodiments, flexible printed circuit board 765 may serve to replacepower cable 760 and data cable 770. In alternative embodiments, flexibleprinted circuit board 765 may be included in addition to at least one ofpower cable 760 and data cable 770. In various embodiments discussedherein, flexible printed circuit board 765 may be substituted for, orincluded in addition to, power cable 760 and data cable 770.

FIG. 11 is a schematic illustration of another embodiment of a wearableapparatus securable to an article of clothing consistent with thepresent disclosure. As illustrated in FIG. 11, connector 730 may becentrally located with respect to capturing unit 710 and power unit 720.Central location of connector 730 may facilitate affixing apparatus 110to clothing 750 through a hole in clothing 750 such as, for example, abutton-hole in an existing article of clothing 750 or a specialty holein an article of clothing 750 designed to accommodate wearable apparatus110.

FIG. 12 is a schematic illustration of still another embodiment ofwearable apparatus 110 securable to an article of clothing. Asillustrated in FIG. 12, connector 730 may include a first magnet 731 anda second magnet 732. First magnet 731 and second magnet 732 may securecapturing unit 710 to power unit 720 with the article of clothingpositioned between first magnet 731 and second magnet 732. Inembodiments including first magnet 731 and second magnet 732, powercable 760 and data cable 770 may also be included. In these embodiments,power cable 760 and data cable 770 may be of any length, and may providea flexible power and data connection between capturing unit 710 andpower unit 720. Embodiments including first magnet 731 and second magnet732 may further include a flexible PCB 765 connection in addition to orinstead of power cable 760 and/or data cable 770. In some embodiments,first magnet 731 or second magnet 732 may be replaced by an objectcomprising a metal material.

FIG. 13 is a schematic illustration of yet another embodiment of awearable apparatus 110 securable to an article of clothing. FIG. 13illustrates an embodiment wherein power and data may be wirelesslytransferred between capturing unit 710 and power unit 720. Asillustrated in FIG. 13, first magnet 731 and second magnet 732 may beprovided as connector 730 to secure capturing unit 710 and power unit720 to an article of clothing 750. Power and/or data may be transferredbetween capturing unit 710 and power unit 720 via any suitable wirelesstechnology, for example, magnetic and/or capacitive coupling, near fieldcommunication technologies, radiofrequency transfer, and any otherwireless technology suitable for transferring data and/or power acrossshort distances.

FIG. 14 illustrates still another embodiment of wearable apparatus 110securable to an article of clothing 750 of a user. As illustrated inFIG. 14, connector 730 may include features designed for a contact fit.For example, capturing unit 710 may include a ring 733 with a hollowcenter having a diameter slightly larger than a disk-shaped protrusion734 located on power unit 720. When pressed together with fabric of anarticle of clothing 750 between them, disk-shaped protrusion 734 may fittightly inside ring 733, securing capturing unit 710 to power unit 720.FIG. 14 illustrates an embodiment that does not include any cabling orother physical connection between capturing unit 710 and power unit 720.In this embodiment, capturing unit 710 and power unit 720 may transferpower and data wirelessly. In alternative embodiments, capturing unit710 and power unit 720 may transfer power and data via at least one ofcable 760, data cable 770, and flexible printed circuit board 765.

FIG. 15 illustrates another aspect of power unit 720 consistent withembodiments described herein. Power unit 720 may be configured to bepositioned directly against the user's skin. To facilitate suchpositioning, power unit 720 may further include at least one surfacecoated with a biocompatible material 740. Biocompatible materials 740may include materials that will not negatively react with the skin ofthe user when worn against the skin for extended periods of time. Suchmaterials may include, for example, silicone, PTFE, kapton, polyimide,titanium, nitinol, platinum, and others. Also as illustrated in FIG. 15,power unit 720 may be sized such that an inner volume of the power unitis substantially filled by mobile power source 520. That is, in someembodiments, the inner volume of power unit 720 may be such that thevolume does not accommodate any additional components except for mobilepower source 520. In some embodiments, mobile power source 520 may takeadvantage of its close proximity to the skin of user's skin. Forexample, mobile power source 520 may use the Peltier effect to producepower and/or charge the power source.

In further embodiments, an apparatus securable to an article of clothingmay further include protective circuitry associated with power source520 housed in power unit 720. FIG. 16 illustrates an exemplaryembodiment including protective circuitry 775. As illustrated in FIG.16, protective circuitry 775 may be located remotely with respect topower unit 720. In alternative embodiments, protective circuitry 775 mayalso be located in capturing unit 710, on flexible printed circuit board765, or in power unit 720.

Protective circuitry 775 may be configured to protect image sensor 220and/or other elements of capturing unit 710 from potentially dangerouscurrents and/or voltages produced by mobile power source 520. Protectivecircuitry 775 may include passive components such as capacitors,resistors, diodes, inductors, etc., to provide protection to elements ofcapturing unit 710. In some embodiments, protective circuitry 775 mayalso include active components, such as transistors, to provideprotection to elements of capturing unit 710. For example, in someembodiments, protective circuitry 775 may comprise one or more resistorsserving as fuses. Each fuse may comprise a wire or strip that melts(thereby braking a connection between circuitry of image capturing unit710 and circuitry of power unit 720) when current flowing through thefuse exceeds a predetermined limit (e.g., 500 milliamps, 900 milliamps,1 amp, 1.1 amps, 2 amp, 2.1 amps, 3 amps, etc.) Any or all of thepreviously described embodiments may incorporate protective circuitry775.

In some embodiments, the wearable apparatus may transmit data to acomputing device (e.g., a smartphone, tablet, watch, computer, etc.)over one or more networks via any known wireless standard (e.g.,cellular, Wi-Fi, Bluetooth®, etc.), or via near-filed capacitivecoupling, other short range wireless techniques, or via a wiredconnection. Similarly, the wearable apparatus may receive data from thecomputing device over one or more networks via any known wirelessstandard (e.g., cellular, Wi-Fi, Bluetooth®, etc.), or via near-filedcapacitive coupling, other short range wireless techniques, or via awired connection. The data transmitted to the wearable apparatus and/orreceived by the wireless apparatus may include images, portions ofimages, identifiers related to information appearing in analyzed imagesor associated with analyzed audio, or any other data representing imageand/or audio data. For example, an image may be analyzed and anidentifier related to an activity occurring in the image may betransmitted to the computing device (e.g., the “paired device”). In theembodiments described herein, the wearable apparatus may process imagesand/or audio locally (on board the wearable apparatus) and/or remotely(via a computing device). Further, in the embodiments described herein,the wearable apparatus may transmit data related to the analysis ofimages and/or audio to a computing device for further analysis, display,and/or transmission to another device (e.g., a paired device). Further,a paired device may execute one or more applications (apps) to process,display, and/or analyze data (e.g., identifiers, text, images, audio,etc.) received from the wearable apparatus.

Some of the disclosed embodiments may involve systems, devices, methods,and software products for determining at least one keyword. For example,at least one keyword may be determined based on data collected byapparatus 110. At least one search query may be determined based on theat least one keyword. The at least one search query may be transmittedto a search engine.

In some embodiments, at least one keyword may be determined based on atleast one or more images captured by image sensor 220. In some cases,the at least one keyword may be selected from a keywords pool stored inmemory. In some cases, optical character recognition (OCR) may beperformed on at least one image captured by image sensor 220, and the atleast one keyword may be determined based on the OCR result. In somecases, at least one image captured by image sensor 220 may be analyzedto recognize: a person, an object, a location, a scene, and so forth.Further, the at least one keyword may be determined based on therecognized person, object, location, scene, etc. For example, the atleast one keyword may comprise: a person's name, an object's name, aplace's name, a date, a sport team's name, a movie's name, a book'sname, and so forth.

In some embodiments, at least one keyword may be determined based on theuser's behavior. The user's behavior may be determined based on ananalysis of the one or more images captured by image sensor 220. In someembodiments, at least one keyword may be determined based on activitiesof a user and/or other person. The one or more images captured by imagesensor 220 may be analyzed to identify the activities of the user and/orthe other person who appears in one or more images captured by imagesensor 220. In some embodiments, at least one keyword may be determinedbased on at least one or more audio segments captured by apparatus 110.In some embodiments, at least one keyword may be determined based on atleast GPS information associated with the user. In some embodiments, atleast one keyword may be determined based on at least the current timeand/or date.

In some embodiments, at least one search query may be determined basedon at least one keyword. In some cases, the at least one search querymay comprise the at least one keyword. In some cases, the at least onesearch query may comprise the at least one keyword and additionalkeywords provided by the user. In some cases, the at least one searchquery may comprise the at least one keyword and one or more images, suchas images captured by image sensor 220. In some cases, the at least onesearch query may comprise the at least one keyword and one or more audiosegments, such as audio segments captured by apparatus 110.

In some embodiments, the at least one search query may be transmitted toa search engine. In some embodiments, search results provided by thesearch engine in response to the at least one search query may beprovided to the user. In some embodiments, the at least one search querymay be used to access a database.

For example, in one embodiment, the keywords may include a name of atype of food, such as quinoa, or a brand name of a food product; and thesearch will output information related to desirable quantities ofconsumption, facts about the nutritional profile, and so forth. Inanother example, in one embodiment, the keywords may include a name of arestaurant, and the search will output information related to therestaurant, such as a menu, opening hours, reviews, and so forth. Thename of the restaurant may be obtained using OCR on an image of signage,using GPS information, and so forth. In another example, in oneembodiment, the keywords may include a name of a person, and the searchwill provide information from a social network profile of the person.The name of the person may be obtained using OCR on an image of a nametag attached to the person's shirt, using face recognition algorithms,and so forth. In another example, in one embodiment, the keywords mayinclude a name of a book, and the search will output information relatedto the book, such as reviews, sales statistics, information regardingthe author of the book, and so forth. In another example, in oneembodiment, the keywords may include a name of a movie, and the searchwill output information related to the movie, such as reviews, boxoffice statistics, information regarding the cast of the movie, showtimes, and so forth. In another example, in one embodiment, the keywordsmay include a name of a sport team, and the search will outputinformation related to the sport team, such as statistics, latestresults, future schedule, information regarding the players of the sportteam, and so forth. For example, the name of the sport team may beobtained using audio recognition algorithms.

Selecting Actions Based on a Detected Person

In some embodiments, wearable apparatus 110 may execute a variety ofactions, such as identifying persons in captured images, uploadingimages of persons (e.g., to one or more social networks, to one or morecloud storage folders, etc.), tagging images of persons, sending imagesof persons (e.g., via email, text message, or the like), updating aGnatt chart or a calendar, sending information to one or morematchmaking services, updating one or more social network profiles,providing one or more statistics, or the like. The wearable apparatus110 may select one or more actions to perform based on one or moreattributes of a detected person, such as age, gender, weight, height,relationship with a wearer of the device (e.g., social, family,business, etc.). In doing so, embodiments consistent with the presentdisclosure may address the technical problem of extracting informationfrom an environment of the wearer of the wearable apparatus that isrelevant to the wearer and then determining how to use that informationin a way that is useful to the wearer and/or according to the user'spreferences. For example, the wearer may wish to track encounters withcertain people who are related to them or persons with whom the weareris associated with at work, but may have different preferences as to thekinds of information that the wearer would like to store regardingdifferent persons. Embodiments of the present disclosure may addressthis problem through techniques for categorizing information extractedor determined from images of the wearer's environment and executingappropriate actions related to the extracted information.

FIG. 17 illustrates an exemplary embodiment of a memory 1700 containingsoftware modules consistent with the present disclosure. Memory 1700 maybe included in apparatus 110 in lieu of or in combination with memory550. In some embodiments, the software modules of memory 1700 may becombined with one or more software modules of memory 550 into one ormore memories. Memory 1700 may store more or fewer modules than thoseshown in FIG. 17.

As illustrated in FIG. 17, included in memory 1700 are softwareinstructions to execute a person detection module 1701, an attributeidentification module 1702, a categorization module 1703, and an actionmodule 1704. Modules 1701, 1702, 1703, and 1704 may contain softwareinstructions for execution by at least one processing device, e.g.,processor 210, included in a wearable apparatus, e.g., wearableapparatus 110. In some embodiments, person detection module 1701,attribute identification module 1702, categorization module 1703, andaction module 1704 may cooperate to execute method 1900 (or a variantthereof) of FIG. 19.

Person detection module 1701 may be configured to analyze one or moreimages captured from a wearable apparatus to detect at least one personwithin the images. For example, person detection module 1701 may beconfigured to identify a subset of the captured data that includes atleast one person. In some embodiments, person detection module 1701 maybe configured to receive a plurality of images and to identify one ormore of the plurality of images that include at least one person. Forexample, module 1701 may receive a plurality of images of an environmentsurrounding a user wearing the wearable apparatus 110 and identify whichof the plurality of images include at least one person.

In some embodiments, such an analysis may be performed by employing afacial recognition algorithm designed to detect facial features (e.g.,mouth, eyes, etc.), facial contours, body shape, or any other suitableidentifying feature of a person. In other embodiments, the at least oneperson may be identified using a thermal signature algorithm designed todetect the presence of at least one person based on the heat generatedby the at least one person. In such embodiments, the wearable apparatus110 may capture thermal images, either alone or in combination withvisual images, for processing by the thermal signature algorithm.Thermal recognition of the at least one person may be desirable inimplementations in which the wearable device 110 is operating in reducedlighting situations. In some embodiments, the at least one person may beidentified through the application of one or more image classificationtechniques. For example, at least one image classification technique maybe used to classify at least one feature of an image. In someembodiments, an image classification technique may include one or moreof image enhancement, edge detection, image analysis, and dataextraction. Specific examples of the methods for identifying at leastone person are exemplary only, and a person of ordinary skill in the artwill recognize other methods for identifying the at least one personthat remain consistent with the present disclosure. In some examples,the at least one person may be detected using a facial detectionalgorithm, using a neural network trained to detect faces and/or personsin images, and so forth. In some examples, the at least one person maybe identified using a facial recognition algorithm, using a neuralnetwork trained to identify people in images, and so forth.

Attribute identification module 1702 may be configured to receive one ormore images of detected persons and further analyze the one or moreimages to determine one or more attributes (e.g., age, gender, weight,height, relationship with a wearer of the wearable apparatus) associatedwith the identified persons. In some embodiments, attributeidentification module 1702 may determine more than one attribute foreach detected person.

In some embodiments, at least one attribute of a detected person may bedetermined based on analysis of one or more images of the detectedperson. For example, one or more algorithms may analyze one or more ofdetected facial features (e.g., mouth, eyes, etc.), facial contours,body shape, or any other suitable identifying feature of a person toestimate or determine information such as a the detected person's age,gender, weight, height, etc. For example, a neural network trained toidentify attributes of a person from an image may be used.

In some embodiments, attribute identification module 1702 may determinean identity of a detected person (e.g., through facial recognition), andthen access one or more databases (stored, e.g., locally in a memory ofwearable apparatus 110 and/or accessible remotely over a network, e.g.,such as by accessing server 250) to retrieve at least one attribute ofthe detected person. For example, after identifying a detected person asa particular individual (e.g., determining a match based on facialrecognition to a known person's image), attribute identification module1702 may access a database to retrieve information about the detectedperson, such as the detected person's age, family members, etc.

Categorization module 1703 may be configured to use associatedattributes to categorize identified persons. For example, categorizationmodule 1703 may classify a detected person as an adult, a teenager, achild, a brother of the wearer, a mother-in-law of the wearer, a tall(e.g., above median) person, a short (e.g., below median) person, amale, a female, or the like.

In some embodiments, based on an attribute of a particular individual,categorization module 1703 may associate the detected person with one ormore relevant categories. For example, if an attribute of a personindicates he or she is more than a predetermined height (e.g., six feetor taller), categorization module 1703 may associate the detected persona category of “tall.” Similarly, if an attribute of a person indicateshe or she is less than a predetermined age (e.g., 18 years),categorization module 1703 may associate the detected person a categoryof “child.” Categorization module 1703 may further associate more thanone category with a detected person. For example, a detected person whohas an attribute of an age of fifteen years old may be associated withboth a category of “child” and a category of “teenager.”

In some embodiments, categorization module 1703 may be configured toreceive one or more images of detected persons and further analyze theone or more images to categorize identified persons. In some examples,the detected person may be classified to one of a number of predefinedcategorizes using an image classifier that assign a category to a personbased on images of a person. The image classifier may be a result of amachine learning algorithm trained on a set of examples, where anexample may include images of a person along with the desired categoryfor the person. In some examples, a neural network trained to assign oneor more categories to a person based on images of a person may be used.

In some embodiments, categorization module 1703 may be configured toreceive one or more images and analyze the one or more images to detectpersons of a select category. In some examples, the one or more imagesmay be analyzed using a detector configured to detect females, males,children, elderly persons, business persons, and so forth. For example,the detector may comprise a classifier that classifies images and/orportion of images as ones that contain and ones that do not contain aperson matching the selected category. The classifier may be a result ofa machine learning algorithm trained using training examples, where atraining example may comprise images and a desired answer. For example,the detector may comprise a neural network trained to detect personsthat match the selected category in images.

Action module 1704 may be configured to select one or more actions basedon the categories. For example, action module 1704 may identify thedetected person, when the detected person is categorized as businesscontact of the wearer. By way of further example, action module 1704 mayupload and tag an image (e.g., to a cloud storage service, a socialnetwork, etc.) when, for example, the detected person is categorized asa friend or family of the wearer. In another example, action module 1704may update a timeline, calendar, Gnatt chart, or the like, when thedetected person is categorized as a coworker or significant other of thewearer. In yet another example, action module 1704 may provideinformation related to a potential dating match, e.g., when the detectedperson is categorized in one or more categories matching datingpreferences of the wearer (e.g., gender, height, hair color, etc.).

Alternatively or concurrently to performing one or more actions such asthose above, action module 1704 may update one or more statistics basedon the categorization. In some embodiments, the statistics may beaccumulated over geographical regions and/or time frames.

In some embodiments, action module 1704 may cause the selected one ormore actions to be executed by providing information (e.g., one or moreinstructions and/or one or more parameters to an instruction) to adevice paired with the wearable apparatus (e.g., a smartphone) and/or byproviding information (e.g., one more instructions and/or one or moreparameters to an instruction) to a remote server (e.g., server 250) overa network. For example, action module 1704 may transmit one or moreinstructions to a paired device to update a calendar displayed on ascreen of the paired device to indicate that the user had a meeting witha co-worker on a particular day.

Modules 1701-1704 may be implemented in software, hardware, firmware, amix of any of those, or the like. For example, if the modules areimplemented in software, they may be stored, for example, in memory 550.However, in some embodiments, any one or more of modules 1701-1704 may,for example, be stored in processor 540 and/or located on server 250,which may include one or more processing devices. Processing devices ofserver 250 may be configured to execute the instructions of modules1701-1704. In some embodiments, aspects of modules 1701-1704 may includesoftware, hardware, or firmware instructions (or a combination thereof)executable by one or more processors, alone or in various combinationswith each other. For example, modules 1701-1704 may be configured tointeract with each other and/or other modules of server 250 and/or awearable camera system to perform functions consistent with disclosedembodiments. In some embodiments, any of the disclosed modules may eachinclude dedicated sensors (e.g., IR, image sensors, etc.) and/ordedicated application processing devices to perform the functionalityassociated with each module.

FIG. 18A is an illustration of an example image 1800 captured by awearable apparatus, such as wearable apparatus 110. In the example ofFIG. 18A, image 1800 contains a person 1810. In the example of FIG. 18A,wearable apparatus 110 may classify person 1810 as a brother of thewearer of apparatus 110. The classification may be determined using anyone or more of the techniques discussed above in connection with FIG.17. Based on this classification, wearable apparatus 110 may take one ormore actions. For example, apparatus 110 may identify person 1810 as“brother” and/or by the name “Ted,” may upload and tag an image ofperson 1810 (e.g., to a social network account associated with thewearer), may update a social network account associated with the wearerto indicate that the wearer was with person 1810, or the like.

FIG. 18B is an illustration of another example image 1850 captured by awearable apparatus such as wearable apparatus 110. In the example ofFIG. 18B, image 1850 contains a person 1860. In the example of FIG. 18B,wearable apparatus 110 may classify person 1860 as a child (e.g., basedon a determined age of person 1860). Based on this classification,apparatus 110 may take one or more actions. For example, as depicted inFIG. 18B, wearable apparatus 110 may transmit an amber alert based onthe classification of person 1860 as a child and/or based on the absenceof other persons, such as adults, nearby. Alternatively or concurrently,as depicted in FIG. 18B, wearable apparatus 110 may transmit an updateto a database providing information related to missing persons. Such anupdate may verify if person 1860 is in the missing persons database and,if so, transmit a time and/or a location of the capture of image 1850 tothe database. In some examples, wearable apparatus 110 may forgo certainactions based on the category of the person, for example in FIG. 18B theapparatus may forgo uploading images of person 1860 to a social networkor a public photo album based on the categorization of person 1860 as achild.

FIGS. 18A and 18B are examples of persons being detected and categorizedby wearable apparatus 110. As would be understood by one of ordinaryskill in the art, wearable apparatus 110 may capture images throughoutthe user's day at a variety of locations as the environment surroundingthe user changes. For example, images may be captured when the uservisits a restaurant for dinner, commutes to and from work, attendssocial events, etc. In this way, wearable apparatus 110 may beconfigured to monitor the environment surrounding user 100 throughoutthe user's activities to identify exposure to one or more personsthroughout the time user wears wearable apparatus 110, and thendetermine attributes of detected persons, base categories on thedetermined attributes, and take appropriate actions based on thecategories.

FIG. 19 illustrates a flowchart of an example method 1900 for selectingan action based on a detected person. Method 1900 may be implemented byat least one processing device (e.g., processor 210 of wearableapparatus 110) and by a wearable image sensor (e.g., image sensor 220 ofwearable apparatus 110) configured to capture a plurality of images fromthe environment of the user of the wearable apparatus.

At step 1910, the processing device may analyze at least one of theplurality of images to detect the person. For example, received imagedata may be processed by software steps executed by person detectionmodule 1701. In some embodiments, the processing device may compare oneor more regions of the at least one image against a database of knownpatterns and/or images to determine whether a person is included in theone or more regions. Alternatively or concurrently, the processingdevice may apply one or more classifiers to the one or more regions, andthe one or more classifiers may output whether a person is detected inthe one or more regions. Still further, the processing device mayexecute one or more algorithms to detect facial features (e.g., mouth,eyes, etc.), facial contours, body shape, or any other suitableidentifying feature of a person.

In some embodiments, the detection may be binary. In such embodiments,the comparison and/or classifiers may output true if a person isdetected and false if a person is not detected. In other embodiments,the detection may be threshold-based. In such embodiments, thecomparison and/or classifiers may output a percentage or othermeasurement of confidence that the one or more regions include a person.For example, the comparison may output a likelihood (e.g., a 58%likelihood) that the one or more regions include a person. By way offurther example, the classifiers may output a score (e.g., a score of 8out of 10) that the one or more regions include a person. In suchembodiments, the processing device may use a threshold (e.g., at least55%, at least 7 out of 10, etc.) to convert the output to a binarydetection.

At step 1920, the processing device may analyze at least one of theplurality of images to identify an attribute of the detected person. Forexample, received image data may be processed by software steps executedby attribute identification module 1702. Similar to step 1910, theprocessing device may compare one or more regions of the at least oneimage against a database of known patterns and/or images to determinethe attribute. Alternatively or concurrently, the processing device mayapply one or more classifiers to the one or more regions, and the one ormore classifiers may output the attribute. For example, as discussedearlier, one or more algorithms may analyze one or more of detectedfacial features (e.g., mouth, eyes, etc.), facial contours, body shape,or any other suitable identifying feature of a person to estimate ordetermine information such as a the detected person's age, gender,weight, height, etc. In some embodiments, as discussed earlier,attribute identification module 1702 may determine an identity of adetected person (e.g., through facial recognition), and then access oneor more databases (stored, e.g., locally in a memory of wearableapparatus 110 and/or accessible remotely over a network, e.g., such asby accessing server 250) to retrieve at least one attribute of thedetected person.

In some embodiments, a confidence score or the like may be associatedwith the attribute. For example, the comparison may output an attributewith a 64% confidence score. By way of further example, the classifiersmay output an attribute with a confidence score of 4 (out of 10). Insuch embodiments, the comparison and/or classifiers may output aplurality of attributes, and the processing device may select theattribute with the highest confidence score as the associated attribute.

As one example, analyzing at least one of the plurality of images toidentify an attribute of the detected person may include analyzing theat least one of the plurality of images to estimate an age of thedetected person. As a second example, analyzing at least one of theplurality of images to identify an attribute of the detected person mayinclude analyzing the at least one of the plurality of images toestimate a height of the detected person. In a third example, analyzingat least one of the plurality of images to identify an attribute of thedetected person may include analyzing the at least one of the pluralityof images to estimate a weight of the detected person. As a fourthexample, analyzing at least one of the plurality of images to identifyan attribute of the detected person may include analyzing the at leastone of the plurality of images to estimate a gender of the detectedperson.

In some embodiments, analyzing at least one of the plurality of imagesto identify an attribute of the detected person may include analyzingthe at least one of the plurality of images to determine an identity ofthe detected person. For example, an identity of the detected person maycomprise a name, a job title, a phone number, or other identifier of thedetected person. In some embodiments, the processing device may compareone or more regions of the at least one image against a database ofknown patterns to identify the detected person. Alternatively orconcurrently, the processing device may apply one or more classifiers tothe one or more regions, and the one or more classifiers may output anidentity of the detected person. In some embodiments, a confidence scoreor the like may be associated with the identity. For example, theclassifiers may output an identity with a confidence score (e.g., a 43%confidence score). By way of further example, the comparison may outputan identity with a confidence score (e.g., a confidence score of 9 outof 10). In such embodiments, the comparison and/or classifiers mayoutput a plurality of identities, and the processing device may selectthe identity with the highest confidence score as the associatedidentity.

Based on the identity of the detected person, the processing device maydetermine a type of a relationship between the user and the detectedperson, as depicted in the example of FIG. 18A. For example, therelationship may comprise a category of relationship (such as family,friend, social, business, etc.), a specific relationship (such asbrother, cousin, coworker, client, etc.), or the like. In someembodiments, the processing device may determine multiple types ofrelationships (e.g., the detected person is a family member and, morespecifically, is the wearer's brother).

At step 1930, the processing device may select at least one category forthe detected person based on the identified attribute. Selecting the atleast one category may be facilitated by software steps executed bycategorization module 1704. In some embodiments, the at least onecategory may be selected from a plurality of attribute categories. Forexample, the processing device may categorize the detected person intothe at least one category based on the estimated age of the detectedperson (such as adult, child, teenager, senior citizen, etc.). In asecond example, the processing device may categorize the detected personinto the at least one category based on the estimated height of thedetected person (such as tall, average, short, etc.). As a thirdexample, the processing device may categorize the detected person intothe at least one category based on the estimated weight of the detectedperson (such as heavy, average, thin, etc.). In a fourth example, theprocessing device may categorize the detected person into the at leastone category based on the estimated gender of the detected person (suchas male, female, etc.).

In embodiments where the processing device has determined an identity ofthe detected person and determined a type of a relationship between theuser and the detected person, the processing device may categorize thedetected person into the at least one category based on the type of therelationship between the user and the detected person (such as family,friend, social, business, sibling, coworker, etc.).

In some embodiments, the at least one category may include a statisticalcategory. For example, the processing device may retain a collection ofstatistics on the age, height, weight, and/or gender of persons detectedin images captured by the wearable apparatus. Statistical categories maythus be based on the collection of statistics, for example, medians,modes, means, deciles, quartiles, quintiles, or the like. In someembodiments, the statistical category may be associated with ageographical region and/or associated with a time period. For example,the median may be measured only for a portion of the collectionassociated with North America. By way of further example, the quartilesmay be measured only for a portion of the collection associated with theprevious week.

In some embodiments, method 1900 may skip steps 1910 and 1920, and step1930 may detect persons that match a selected category in images, forexample using categorization module 1704.

At step 1940, the processing device may select at least one action basedon the at least one category. Selection of the at least one action maybe facilitated via action module 1704. For example, the at least oneaction may include identifying the person, at least one of uploading animage and tagging an image, at least one of updating a log and updatinga timeline or a Gantt chart, providing information related to apotential dating match, updating at least one of a social graph and asocial network profile, or the like. The at least one action may bebased on the at least one category. For example, the processing devicemay select updating a timeline or a Gnatt chart (or other calendar ortask list) if the detected person is categorized as a coworker orclient. By way of further example, the processing device may provideinformation related to a potential dating match if the detected personis categorized in one or more categories that match a dating profile ofthe user. In another example, the processing device may update a socialgraph and/or a social network profile if the detected person iscategorized as a friend.

In some embodiments, the at least one action may be selected from aplurality of alternative actions associated with the at least onecategory. For example, the category of friend may be associated with atleast one of uploading an image and tagging an image and/or updating atleast one of a social graph and a social network profile. In such anexample, the processing device may select at least one of uploading animage and tagging an image and/or updating at least one of a socialgraph and a social network profile when the detected person iscategorized as a friend. In another example, the category of coworkermay be associated with at least one of updating a log and updating atimeline or a Gantt chart and/or providing information related to apotential dating match. In such an example, the processing device mayselect at least one of updating a log and updating a timeline or a Ganttchart and/or providing information related to a potential dating matchwhen the detected person is categorized as a coworker.

In embodiments with a plurality of categories, the processing device mayuse a second category to select at least one action from a plurality ofalternative actions associated with the first category. Accordingly, inan example where the category of friend is associated with at least oneof uploading an image and tagging an image and/or providing informationrelated to a potential dating match, the processing device may selectproviding information related to a potential dating match when thegender of the detected person matches a preferred gender in a datingprofile of the user.

In embodiments where the at least one category includes a statisticalcategory, the at least one action may include updating informationrelated to the statistical category. For example, updating theinformation related to the statistical category includes updating acount of unique persons associated with the statistical category.Accordingly, the processing device may keep track of a total number offriends, coworkers, males, females, short persons, tall persons, heavypersons, thin persons, or the like that are detected by the wearableapparatus. As explained above, this count may be associated with ageographical region and/or associated with a time period.

At step 1950, the processing device may cause the at least one selectedaction to be executed. In some embodiments, causing the at least oneselected action to be executed may include sending information to adevice paired with the wearable apparatus. A device paired with thewearable apparatus may include a smartphone, a tablet, a laptop, or thelike. Accordingly, the processing device may send information to thepaired device using a wired connection (such as a universal serial bus(USB), or the like), a direct wireless connection (such as Bluetooth®,or the like), and/or an indirect wireless connection (such as WiFi, 4G,or the like).

The transmitted information may include at least one of the plurality ofimages, one or more regions of at least one image (e.g., one or moreregions used to detect a person and/or identify an attribute), one ormore attributes of detected persons in the plurality of images, one ormore categories for detected persons, one or more identities or detectedpersons, or the like. Furthermore, the transmitted information may allowthe paired device to executed one or more selected actions. For example,the processing device may transmit information to the paired device suchthat the paired device may identify the person, upload an image, tag animage, update a log, update a timeline or a Gantt chart, provideinformation related to a potential dating match, update at least one ofa social graph and a social network profile, or the like.

Method 1900 may further include additional steps. For example, theprocessing device may analyze at least one of the plurality of images todetect a second person. The detection of the second person may beperformed as the detection of the first person in step 1910.Furthermore, method 1900 may further include analyzing at least one ofthe plurality of images to identify an attribute of the second personand selecting at least one category for the second person based on theidentified attribute of the second person.

In some embodiments, one or more steps regarding the second person maybe performed after steps 1910 to 1950 regarding the first person. Inother embodiments, one or more steps regarding the second person may beinterspersed with steps 1910 to 1950. For example, the processing devicemay detect the second person after detecting the first person but beforeidentifying an attribute of the first person and/or selecting at leastone category for the first person. By way of further example, theprocessing device may identify an attribute of the second personconcurrently with identifying an attribute of the first person and/ormay select at least one category for the second person concurrently withselecting at least one category for the first person.

In some embodiments, method 1900 may base the selection of the at leastone action on the at least one category selected for the second person.For example, if a first detected person is categorized as a child and asecond detected person is categorized as an adult, the processing devicemay verify if the first detected person has been reported as abducted orkidnapped by the second detected person using a database of missingpersons, a database of police reports, or the like. By way of furtherexample, if a first detected person is categorized as a coworker and asecond detected person is categorized as a client, the processing devicemay update a timeline or a Gantt chart (or a calendar or task list) witha log of the meeting with the identified coworker and the identifiedclient.

In some embodiments, method 1900 may detect and categorize a pluralityof persons appearing in one or more images, for example in a fashionsimilar to the one described above. In some examples, step 1940 may basethe selection of the at least one action on the categories of theplurality of persons. For example, the selection of the at least oneaction may be based on a distribution of the categories of a group ofpersons. For example, the entropy of the distribution of the categoriesof a group of persons may be calculated, and the selection of the atleast one action may be based on the calculated entropy.

Executing Actions Based on Physical Presence of a Detected Person

As explained above, in some embodiments, wearable apparatus 110 of thepresent disclosure may execute a variety of actions. Some actions may beassociated with a physical location of the apparatus, such astransmitting information associated with a physical location of thewearable apparatus, updating at least one of a database and a socialnetwork profile based on information associated with a physical locationof the wearable apparatus, determining one or more statistics based, atleast in part, on information associated with a physical location of thewearable apparatus, or the like. Other actions may be associated with atime and date (e.g., a time and date of capture of one or more images),such as transmitting information associated with at least one of a timeand a date, updating a database or a social network based on informationassociated with at least one of a time and a date, identifying one ormore statistics based, at least in part, on information associated withat least one of a time and a date, or the like.

In some embodiments, wearable apparatus 110 may determine one or moreactions to take based on whether a detected person is physically presentin an environment of a user of the wearable apparatus or visible on adisplay of a device in an environment of a user of the wearableapparatus. In doing so, embodiments consistent with the presentdisclosure may address the technical problem of extracting and usinginformation from an environment of the wearer of the wearable apparatuswhen the wearer is interacting with other people and not with images orscreens. For example, the wearer may wish to track encounters withcertain people but not with any images of people in picture framesand/or on television screens, tablet screens, smartphone screens, or thelike. Alternatively, the wearer may wish to track encounters with imagesseparately from tracking physical encounters with other people.Embodiments of the present disclosure may address this problem throughtechniques for assessing physical presence of others based on images ofthe wearer's environment and executing appropriate actions based on theassessment.

FIG. 20 illustrates an exemplary embodiment of a memory 2000 containingsoftware modules consistent with the present disclosure. Memory 200 maybe included in apparatus 110 in lieu of or in combination with memory550. In some embodiments, the software modules of memory 2000 may becombined with one or more software modules of memory 550 into one ormore memories. Memory 2000 may store more or fewer modules than thoseshown in FIG. 20.

As illustrated in FIG. 20, included in memory 2000 are softwareinstructions to execute a person detection module 2001, a physicalpresence identification module 2002, and action module 2003. Modules2001, 2002, and 2003 may contain software instructions for execution byat least one processing device, e.g., processor 210, included in awearable apparatus, e.g., wearable apparatus 110. In some embodiments,person detection module 2001, physical presence identification module2002, and action module 2003 may cooperate to execute method 2200 ofFIG. 22A, method 2230 of FIG. 22B, and/or method 2260 of FIG. 22C (orvariants or combinations thereof).

Person detection module 2001 may be configured to analyze one or moreimages captured from a wearable apparatus to detect at least one personwithin the images. For example, person detection module 2001 may beconfigured to identify a subset of the captured data that includes atleast one person. In some embodiments, person detection module 2001 maybe configured to receive a plurality of images and to identify one ormore of the plurality of images that include at least one person. Forexample, module 2001 may receive a plurality of images of an environmentsurrounding a user wearing the wearable apparatus 110 and identify whichof the plurality of images, if any, include at least one person.

In some embodiments, such an analysis may be performed by employing afacial recognition algorithm designed to detect facial features (e.g.,mouth, eyes, etc.), facial contours, body shape, or any other suitableidentifying feature of a person. In other embodiments, the at least oneperson may be identified using a thermal signature algorithm designed todetect the presence of at least one person based on the heat generatedby the at least one person. In such embodiments, the wearable apparatus110 may capture thermal images, either alone or in combination withvisual images, for processing by the thermal signature algorithm. Insuch embodiments, module 2001 (or another module not depicted) may alignthe thermal images with the visual images such that at least one persondetected on a thermal image may then be identified on a correspondingvisual image. Thermal recognition of the at least one person may bedesirable in implementations in which the wearable device 110 isoperating in reduced lighting situations.

In some embodiments, the at least one person may be identified throughthe application of one or more image classification techniques. Forexample, at least one image classification technique may be used toclassify at least one feature of an image. In some embodiments, an imageclassification technique may include one or more of image enhancement,edge detection, image analysis, and data extraction. In some examples,the at least one person may be detected using a facial detectionalgorithm, using a neural network trained to detect faces and/or personsin images, and so forth. Specific examples of the methods foridentifying at least one person are exemplary only, and a person ofordinary skill in the art will recognize other methods for identifyingthe at least one person that remain consistent with the presentdisclosure.

Physical presence identification module 2002 may be configured toreceive one or more images of detected persons and further analyze theone or more images to determine whether the detected persons arephysically present or visible on a display of a device. For example,module 2002 may receive one or more images in which person detectionmodule 2001 has determined include at least one person and may identifyif one or more persons of the at least one person are physically presentand/or visible on a display of a device.

In some embodiments, physical presence and/or visibility on a screen ofa detected person may be determined based on analysis of one or moreimages of the detected person. For example, one or more algorithms mayanalyze and/or compare one or more of detected facial features (e.g.,mouth, eyes, etc.), facial contours, body shape, or any other suitableidentifying feature of a person to determine whether the detected personwas physically present in the one or more images or was visible on adisplay in the one or more images. For example, visibility on a displaymay cause one or more proportions of the detected person in the one ormore images to differ from one or more expected proportions if thedetected person were physically present. In some examples, visibility ona display may cause pixilation and/or other aberrations of the detectedperson in the one or more images to exceed one or more expected valuesof such aberrations if the detected person were physically present.

In some embodiments, physical presence and/or visibility on a screen ofa detected person may be determined based on analysis of areas adjacentto or surrounding the detected person and/or in the background of thedetected person. Such analysis may include determining whether thedetected person is bordered by a frame or other surface, such as theedge of a display screen. In such instances, the analysis may includedetermining that certain features or parts (e.g., arms, legs, hands,feet, etc.) of the detected person do not continue beyond a surface oredge depicted and detected in one or more images captured by thewearable apparatus, such as for example, when only a person's face isshown on display screen, but the person's body is not present on thedisplay. Such analysis may further or alternatively include comparingfeatures or parts of the detected person to other areas of one or morecaptured images to determine whether the detected person is not fullyvisible in the captured images. In some examples, such analysis mayindicate that a detected person is interacting with items known to bethe environment of a wearer of the wearable apparatus (e.g., an itempreviously identified in the wearer's environment, and now associatedwith a detected person). For example, the wearer may have picked up aparticular item (e.g., a cup of coffee) and held the item in his or herhand previously before setting the item down (e.g., on a table) orhanding it to another person. Identification of the item in the hand ofa detected person (or near the detected person) may contribute to orconstitute a determination to that the detected person is physicallypresent in the wearer's environment. Such a determination may furthertaken into an amount of time that has elapsed since the wearer ordetected person held the item, interacted with the item, or otherwiseencountered the item in his or her environment. For example, if thewearer held the item within a predetermined time period (e.g., within 5seconds, within 10 seconds, within 30 seconds, within 45 seconds, within1 minute, etc.) before or after the item was identified in associationwith a detected person, then physical presence identification module2002 may determine that the detected person is in fact in theenvironment of the wearer.

In some embodiments, physical presence and/or visibility on a screen ofa detected person may be determined based on analysis of one or more 3Dimages of the detected person. For example, a person visible on a screenmay correspond to a flat surface in the 3D images, while a person whichis physically present may correspond to a surface with convex and/orconcave curves typical to a physical human body and/or face.

In some embodiments, physical presence identification module 2002 may beconfigured to receive one or more images, and analyze the one or moreimages using a detector configured to detect persons that are physicallypresent and not to detect persons that are visible on a screen and/or ina photo. For example, the detector may comprise using a classifier thatclassifies images and/or regions of images as depicting people that arephysically present. The classifier may be a result of a machine learningalgorithm trained on training examples, where a training example maycomprise images and a label of the desired result. For example, theclassifier may comprise a neural network trained to detect persons thatare physically present in images.

In some embodiments, physical presence identification module 2002 may beconfigured to receive one or more images, and analyze the one or moreimages using a detector configured to detect persons that are visible ona screen and/or in a photo and not to detect persons that are physicallypresent. For example, the detector may comprise using a classifier thatclassifies images and/or regions of images as depicting people that arevisible on a screen and/or in a photo. The classifier may be a result ofa machine learning algorithm trained on training examples, where atraining example may comprise images and a label of the desired result.For example, the classifier may comprise a neural network trained todetect persons that are visible on a screen and/or in a photo in images.

In some embodiments, physical presence and/or visibility on a screen ofa detected person may be determined based on analysis of one or moreimages depicting the detected person. For example, regions of the imagescontaining the detected person may be compared with regions of theimages that do not contain the detected person, and the determinationmay be made based on the comparison results. For example, shadows may bedetected in regions of the images containing the detected person and inregions of the images that do not contain the detected person,properties of the shadows, such as the angle of the shadow, may becompared, and the determination may be made based on the comparisonresults, for example determining that the detected person is physicallypresent if and only if the angles match. For example, statistics aboutcolors and/or edges may be collected from regions of the imagescontaining the detected person and from regions of the images that donot contain the detected person, the statistics may be compared, and thedetermination may be made based on the comparison results.

In some embodiments, a determination as to whether or not a detectedperson is physically present may be based on a scoring or weightingapproach in which certain cues (e.g., indicators tending to establish ornot establish physical presence) are considered to determine whether ornot a detected person is physically present or is depicted in an imageon a display screen. As such, weights or scores may be assigned to oneor more cues determined from image analysis, and physical presenceidentification module 2002 may use a cumulative weight value or scorevalue for the one or more cues to make a determination (e.g., thecumulative weight value or score value exceeding a predeterminedthreshold may result in a determination that a detected person is or isnot physically present with the wearer). Any combination of weightingand or scoring any one or more cues is contemplated and consistent withthe disclosed embodiments.

In addition or in combination, certain rules or predetermined rulecombinations may contribute to such determinations by physical presenceidentification module 2002. For example, if a detected person's handsand/or feet are visible in one or more captured images, and at least aportion of a background of the detected person includes an item known tobe in the environment of the wearer of the wearable apparatus, physicalpresence identification module 2002 may conclude that the detectedperson is physically present in the wearer's environment. In contrast,if a detected person's hands and/or feet are not visible in one or morecaptured images, and at least a portion of a background of the detectedperson has no known commonality with the environment of the wearer ofthe wearable apparatus (e.g., no items known to be in the environment ofthe wearer), physical presence identification module 2002 may concludethat the detected person is not physically present in the wearer'senvironment and, instead, is visible on a display or in photograph. Insome embodiments, any one of these example cues individually (e.g., thatthe detected person's hands and/or feet are or are not visible) mayconstitute a sufficient determination to arrive at a conclusion as tophysical presence or a lack of physical presence.

Specific examples of the methods for determining whether a detectedperson is physically present or visible on a display are exemplary only,and a person of ordinary skill in the art will recognize other methodsfor identifying the at least one person that remain consistent with thepresent disclosure. In some examples, physical presence may bedetermined using an algorithm, using a neural network trained to detectphysical presence in images, and so forth.

Action module 2003 may be configured to select one or more actions basedon whether the detected person is physically present in the environmentof the user and/or based on whether the detected person is visible onthe display of the device. For example, action module 2003 may update atleast one of a database and a social network profile based oninformation associated with a physical location of the wearableapparatus when the detected person is physically present. In such anexample, a social network profile of the wearer may be updated with anew status indicating that the wearer interacted with the detectedperson at the physical location. By way of further example, actionmodule 2003 may update a database or a social network based oninformation associated with at least one of a time and a date (e.g., atime or a date of capture of one or more images) when the detectedperson is visible on a display. In such an example, a social networkprofile of the wearer may be updated with a new status indicating thatthe wearer watched a particular television show, movie, or other sourceof the detected person at the time and/or the date.

Alternatively or concurrently to performing one or more actions such asthose above, action module 2003 may identify, determine, and/or updateone or more statistics based, at least in part, on whether the detectedperson is physically present in the environment of the user or visibleon the display of the device. The one or more statistics may,alternatively or concurrently, be based, at least in part, oninformation associated with at least one of a time and a date and/orassociated with a physical location of the wearable apparatus.Accordingly, in some embodiments, the statistics may be accumulated overphysical locations and/or time frames.

In some embodiments, action module 2003 may cause the selected one ormore actions to be executed by providing information (e.g., one or moreinstructions) to a device paired with the wearable apparatus (e.g., asmartphone) and/or by providing information (e.g., one moreinstructions) to a remote server (e.g., server 250) over a network. Forexample, action module 1704 may transmit one or more instructions to apaired device to update a social network profile displayed on a screenof the paired device to indicate that the user interacted with thedetected person, watched a particular television show, or the like.

Modules 2001, 2002, and 2003 may be implemented in software, hardware,firmware, a mix of any of those, or the like. For example, if themodules are implemented in software, they may be stored, for example, inmemory 550. However, in some embodiments, any one or more of modules2001, 2002, and 2003 may, for example, be stored in processor 540 and/orlocated on server 250, which may include one or more processing devices.Processing devices of server 250 may be configured to execute theinstructions of modules 2001, 2002, and 2003. In some embodiments,aspects of modules 2001, 2002, and 2003 may include software, hardware,or firmware instructions (or a combination thereof) executable by one ormore processors, alone or in various combinations with each other. Forexample, modules 2001, 2002, and 2003 may be configured to interact witheach other and/or other modules of server 250 and/or a wearable camerasystem to perform functions consistent with disclosed embodiments. Insome embodiments, any of the disclosed modules may each includededicated sensors (e.g., IR, image sensors, etc.) and/or dedicatedapplication processing devices to perform the functionality associatedwith each module.

FIG. 21A is an illustration of an example image 2100 captured by awearable apparatus, such as wearable apparatus 110. In the example ofFIG. 21A, image 2100 contains a person 2110. In the example of FIG. 21A,wearable apparatus 110 may determine that person 2110 is physicallypresent in the environment of the wearer of apparatus 110. Thisdetermination may be made using any one or more of the techniquesdiscussed above in connection with FIG. 20. Based on this determination,wearable apparatus 110 may take one or more actions. For example,apparatus 110 may update a social network account associated with thewearer to indicate that the wearer was with person 2110, or the like. Insuch an example, apparatus 110 may include a physical location ofapparatus 110 in the update (e.g., to indicate that the wearer was withperson 2110 at the Starbucks on K St NW in Washington, D.C.).

FIG. 21B is an illustration of another example image 2150 captured by awearable apparatus, such as wearable apparatus 110. In the example ofFIG. 21B, image 2150 contains a person 2160. In the example of FIG. 21B,wearable apparatus 110 may determine that person 2160 is visible on adisplay of a device in the environment of the wearer of apparatus 110.This determination may be made using any one or more of the techniquesdiscussed above in connection with FIG. 20. For example, as depicted inFIG. 21B, person 2160 may be visible on a display of a television. Inother examples, person 2160 may be visible on a display of a tablet, adisplay of a laptop, a display of a smartphone, or the like. In theexample of FIG. 21B, wearable apparatus 110 may determine that person2160 is visible in a photo.

Based on this determination, wearable apparatus 110 may take one or moreactions. For example, apparatus 110 may update a social network accountassociated with the wearer to indicate that the wearer was watchingperson 2110 (or a television show or movie including person 211), or thelike. In such an example, apparatus 110 may include at least one of atime and date in the update (e.g., to indicate that the wearer waswatching Casablanca at 9:05 pm on Monday, October 16).

FIGS. 21A and 21B are examples of persons being detected and determinedto be either physically present or visible on a display by wearableapparatus 110. As would be understood by one of ordinary skill in theart, wearable apparatus 110 may capture images throughout the user's dayat a variety of locations as the environment surrounding the userchanges. For example, images may be captured when the user visits acoffee shop to meet a friend, commutes to and from work, relaxes in aliving room of the user's house, etc. In this way, wearable apparatus110 may be configured to monitor the environment surrounding user 100throughout the user's activities to identify exposure to one or morepersons throughout the time user wears wearable apparatus 110, and thendetermine whether detected persons are physically present or visible ona display and take appropriate actions based on the determinations.

FIG. 22A illustrates a flowchart of an example method 2200 for causingexecution of an action based on physical presence of a detected person.Method 2200 may be implemented by at least one processing device (e.g.,processor 210 of wearable apparatus 110) and by a wearable image sensor(e.g., image sensor 220 of wearable apparatus 110) configured to capturea plurality of images from the environment of the user of the wearableapparatus.

At step 2205, the processing device may analyze at least one of theplurality of images to detect the person. For example, received imagedata may be processed by software steps executed by person detectionmodule 2001. In some embodiments, the processing device may compare oneor more regions of the at least one image against a database of knownpatterns and/or to determine whether a person is included in the one ormore regions. Alternatively or concurrently, the processing device mayapply one or more classifiers to the one or more regions, and the one ormore classifiers may output whether a person is detected in the one ormore regions. Still further, the processing device may execute one ormore algorithms to detect facial features (e.g., mouth, eyes, etc.),facial contours, body shape, or any other suitable identifying featureof a person.

In some embodiments, the detection may be binary. In such embodiments,the comparison and/or classifiers may output true if a person isdetected and false if a person is not detected. In other embodiments,the detection may be threshold-based. In such embodiments, thecomparison and/or classifiers may output a percentage or othermeasurement of confidence that the one or more regions include a person.For example, the comparison may output a likelihood (e.g., a 58%likelihood) that the one or more regions include a person. By way offurther example, the classifiers may output a score (e.g., a score of 8out of 10) that the one or more regions include a person. In suchembodiments, the processing device may use a threshold (e.g., at least55%, at least 7 out of 10, etc.) to convert the output to a binarydetection.

At step 2210, the processing device may analyze at least one of theplurality of images to determine whether the detected person isphysically present in the environment of the user. For example, receivedimage data may be processed by software steps executed by physicalpresence identification module 2002 executing any one or more of thetechniques discussed above. Similar to step 2205, the processing devicemay compare one or more regions of the at least one image against adatabase of known patterns and/or images to make the determination.Alternatively or concurrently, the processing device may apply one ormore classifiers to the one or more regions, and the one or moreclassifiers may output the determination. Accordingly, in someembodiments, the analysis may include selecting, in the at least one ofthe plurality of images, one or more regions located within a thresholddistance from the detected person and analyzing the selected one or moreregions. Additionally or alternatively, analyzing the at least one ofthe plurality of images to determine whether the person is physicallypresent in the environment of the user may include analyzing whether theperson is visible on a display of a device in the environment of theuser of the wearable apparatus.

In some embodiments, a confidence score or the like may be associatedwith the determination. For example, the comparison may output thedetermination with a confidence score (e.g., a 64% confidence score). Byway of further example, the classifiers may output the determinationwith a confidence score (e.g., a score of 4 out of 10). In suchembodiments, the processing device may use a threshold (e.g., at least55%, at least 7 out of 10, etc.) to finalize the determination.Alternatively or concurrently, the comparison and/or classifiers mayoutput a first confidence score or the like associated with adetermination that the detected person is physically present in theenvironment of the user and a second confidence score or the likeassociated with a determination that the detected person is visible on adisplay of a device in the environment of the user of the wearableapparatus. In such embodiments, the processing device may select thedetermination with the highest confidence score.

At step 2215, the processing device may select at least one action basedon whether the detected person is physically present in the environmentof the user. Selection of the at least one action may be facilitated viaaction module 2003. For example, the at least one action may includetransmitting information associated with a physical location of thewearable apparatus, updating at least one of a database and a socialnetwork profile based on information associated with a physical locationof the wearable apparatus; determining one or more statistics based, atleast in part, on information associated with a physical location of thewearable apparatus; or the like. As an example, when the detected personis physically present in the environment of the user, the processingdevice may update a database and/or a social network profile with arecord of the interaction between the user and the detected person. Insuch an example, the update may include a physical location of thewearable apparatus. Alternatively or concurrently, the update mayinclude a time and/or a date of the interaction. In embodiments wherethe at least one action include determining one or more statistics, theprocessing device may update a count of persons associated with aphysical location of the wearable apparatus and/or associated with atime and/or date of the interaction.

At step 2220, the processing device may cause the at least one selectedaction to be executed. In some embodiments, causing the at least oneselected action to be executed may include sending information to adevice paired with the wearable apparatus. A device paired with thewearable apparatus may include a smartphone, a tablet, a laptop, or thelike. Accordingly, the processing device may send information to thepaired device using a wired connection (such as a universal serial bus(USB), or the like), a direct wireless connection (such as Bluetooth®,or the like), and/or an indirect wireless connection (such as WiFi, 4G,or the like).

The transmitted information may include at least one of the plurality ofimages, one or more regions of at least one image (e.g., one or moreregions used to detect a person and/or identify an attribute), one ormore determinations of whether detected persons in the plurality ofimages are physically present or visible on a display, a physicallocation of the wearable apparatus, a time and/or a date of capture ofthe images, or the like. Furthermore, the transmitted information mayallow the paired device to execute one or more selected actions. Forexample, the processing device may update at least one of a database anda social network profile based on information associated with a physicallocation of the wearable apparatus; determine one or more statisticsbased, at least in part, on information associated with a physicallocation of the wearable apparatus; or the like.

Method 2200 may further include additional steps. For example, theprocessing device may analyze at least one of the plurality of images todetect a second person. The detection of the second person may beperformed as the detection of the first person in step 2205.Furthermore, method 2200 may further include analyzing at least one ofthe plurality of images to determine whether the second person isvisible on a display of a device.

In some embodiments, one or more steps regarding the second person maybe performed after steps 2205 to 2220 regarding the first person. Inother embodiments, one or more steps regarding the second person may beinterspersed with steps 2205 to 2220. For example, the processing devicemay detect the second person after detecting the first person but beforedetermining whether the first person is physically present. By way offurther example, the processing device may determine whether the secondperson is visible on a display of a device concurrently with determiningwhether the first person is physically present.

In some embodiments, method 2200 may include further basing theselection of the at least one action on whether the second person isvisible on the display of the device. For example, if a first detectedperson is determined as physically present and a second detected personis determined as visible on a display, the processing device may updatea database and/or a social network profile and include the firstdetected person in the update and omit the second detected person fromthe update, or the like. By way of further example, the processingdevice may update a first statistic based on the determination that thefirst detected person is physically present and update a secondstatistic based on the determination that the second detected person isvisible on a display. In another example, based on the determinationthat the first detected person is physically present and the seconddetected person is visible on a display, the processing device mayupdate a database and/or a social network profile with informationregarding the interaction of wearer and the first detected person withthe second person, for example indicating that the wearer and the firstdetected person are in a video conference with the second detectedperson.

FIG. 22B illustrates a flowchart of an example method 2230 for causingexecution of an action based on whether a detected person is visible ona display of a device. Method 2230 may be implemented by at least oneprocessing device (e.g., processor 210 of wearable apparatus 110) and bya wearable image sensor (e.g., image sensor 220 of wearable apparatus110) configured to capture a plurality of images from the environment ofthe user of the wearable apparatus.

At step 2235, the processing device may analyze at least one of theplurality of images to detect the person. For example, received imagedata may be processed by software steps executed by person detectionmodule 2001. In some embodiments, the processing device may compare oneor more regions of the at least one image against a database of knownpatterns and/or to determine whether a person is included in the one ormore regions. Alternatively or concurrently, the processing device mayapply one or more classifiers to the one or more regions, and the one ormore classifiers may output whether a person is detected in the one ormore regions. Still further, the processing device may execute one ormore algorithms to detect facial features (e.g., mouth, eyes, etc.),facial contours, body shape, or any other suitable identifying featureof a person.

In some embodiments, the detection may be binary. In such embodiments,the comparison and/or classifiers may output true if a person isdetected and false if a person is not detected. In other embodiments,the detection may be threshold-based. In such embodiments, thecomparison and/or classifiers may output a percentage or othermeasurement of confidence that the one or more regions include a person.For example, the comparison may output a likelihood (e.g., a 58%likelihood) that the one or more regions include a person. By way offurther example, the classifiers may output a score (e.g., a score of 8out of 10) that the one or more regions include a person. In suchembodiments, the processing device may use a threshold (e.g., at least55%, at least 7 out of 10, etc.) to convert the output to a binarydetection.

At step 2240, the processing device may analyze at least one of theplurality of images to determine whether the detected person is visibleon the display of the device. For example, received image data may beprocessed by software steps executed by physical presence identificationmodule 2002 executing any one or more of the techniques discussed above.Similar to step 2235, the processing device may compare one or moreregions of the at least one image against a database of known patternsand/or images to make the determination. Alternatively or concurrently,the processing device may apply one or more classifiers to the one ormore regions, and the one or more classifiers may output thedetermination. Accordingly, in some embodiments, the analysis mayinclude selecting, in the at least one of the plurality of images, oneor more regions located within a threshold distance from the detectedperson and analyzing the selected one or more regions. Additionally oralternatively, analyzing the at least one of the plurality of images todetermine whether the detected person is visible on the display of thedevice may include analyzing whether the detected person is physicallypresent in the environment of the user of the wearable apparatus.

In some embodiments, a confidence score or the like may be associatedwith the determination. For example, the comparison may output thedetermination with a confidence score (e.g., a 64% confidence score). Byway of further example, the classifiers may output the determinationwith a confidence score (e.g., a score of 4 out of 10). In suchembodiments, the processing device may use a threshold (e.g., at least55%, at least 7 out of 10, etc.) to finalize the determination.Alternatively or concurrently, the comparison and/or classifiers mayoutput a first confidence score or the like associated with adetermination that the detected person is visible on the display of thedevice and a second confidence score or the like associated with adetermination that the detected person is physically present in theenvironment of the user of the wearable apparatus. In such embodiments,the processing device may select the determination with the highestconfidence score.

At step 2245, the processing device may select at least one action basedon whether the detected person is visible on the display of the device.Selection of the at least one action may be facilitated via actionmodule 2003. For example, the at least one action may includetransmitting information associated with at least one of a time and adate (e.g., a time and a date of capture of at least one of theplurality of images), updating a database or a social network based oninformation associated with at least one of a time and a date (e.g., atime and a date of capture of at least one of the plurality of images);identifying one or more statistics based, at least in part, oninformation associated with at least one of a time and a date (e.g., atime and a date of capture of at least one of the plurality of images);or the like. As an example, when the detected person is visible on thedisplay of the device, the processing device may update a databaseand/or a social network profile with a television show, movie, or othermedia in which the detected person appears. In such an example, theupdate may include a time and/or a date of capture of the at least oneimage with the detected person. Alternatively or concurrently, theupdate may include a physical location associated with the wearableapparatus. In embodiments where the at least one action includeidentifying one or more statistics, the processing device may update acount of displays (or television shows or movies or the like) associatedwith a time and/or a date of capture of the at least one image with thedetected person and/or associated with a physical location of thewearable apparatus.

At step 2250, the processing device may cause the at least one selectedaction to be executed. In some embodiments, causing the at least oneselected action to be executed may include sending information to adevice paired with the wearable apparatus. A device paired with thewearable apparatus may include a smartphone, a tablet, a laptop, or thelike. Accordingly, the processing device may send information to thepaired device using a wired connection (such as a universal serial bus(USB), or the like), a direct wireless connection (such as Bluetooth®,or the like), and/or an indirect wireless connection (such as WiFi, 4G,or the like).

The transmitted information may include at least one of the plurality ofimages, one or more regions of at least one image (e.g., one or moreregions used to detect a person and/or identify an attribute), one ormore determinations of whether detected persons in the plurality ofimages are visible on the display or physically present, a physicallocation of the wearable apparatus, a time and/or a date of capture ofthe images, or the like. Furthermore, the transmitted information mayallow the paired device to execute one or more selected actions. Forexample, the processing device may update at least one of a database anda social network profile based on information associated with a timeand/or a date; identify one or more statistics based, at least in part,on information associated with a time and/or a date; or the like.

Method 2230 may further include additional steps. For example, theprocessing device may analyze at least one of the plurality of images todetermine that the detected person is visible on the display device andis taking part in a video conference and further base the selection ofthe at least one action on the determination that the detected person isvisible on the display device and is taking part in the videoconference. In such an example, the processing device may update adatabase and/or a social network profile with a record of the videoconference in which the detected person appears. In such an example, theupdate may include a time and/or a date of the videoconference.

By way of additional example, the processing device may analyze at leastone of the plurality of images to determine that the detected person isincluded in at least one of a video image and a still image and furtherbase the selection of the at least one action on the determination thatthe detected person is included in at least one of a video image and astill image. For example, if the detected person is included in a videoimage, the processing device may then analyze at least one of theplurality of images to determine that the detected person is visible onthe display device and is taking part in a video conference.Alternatively or concurrently, the processing device may update adatabase and/or a social network profile with a television show, movie,or other media in which the detected person appears. In such an example,the update may include a time and/or a date of capture of the at leastone image with the detected person. In other embodiments, if thedetected person is included in a still image, the processing device mayupdate a database and/or a social network profile with a record of theimage in which the detected person appears. Alternatively, theprocessing device may take no action.

In another example, the processing device may analyze at least one ofthe plurality of images to detect a second person. The detection of thesecond person may be performed as the detection of the first person instep 2235. Furthermore, method 2230 may further include analyzing atleast one of the plurality of images to determine whether the secondperson is physically present in the environment of the user.

In some embodiments, one or more steps regarding the second person maybe performed after steps 2235 to 2250 regarding the first person. Inother embodiments, one or more steps regarding the second person may beinterspersed with steps 2235 to 2250. For example, the processing devicemay detect the second person after detecting the first person but beforedetermining whether the first person is visible on the display of thedevice. By way of further example, the processing device may determinewhether the second person is physically present in the environment ofthe user concurrently with determining whether the first person isvisible on the display of the device.

In some embodiments, method 2230 may include further basing theselection of the at least one action on whether the second person isphysically present in the environment of the user. For example, if afirst detected person is determined as visible on the display and asecond detected person is determined as physically present, theprocessing device may update a database and/or a social network profileand include the second detected person in the update and omit the firstdetected person from the update, or the like. By way of further example,the processing device may update a first statistic based on thedetermination that the first detected person is visible on the displayand update a second statistic based on the determination that the seconddetected person is physically present.

FIG. 22C illustrates a flowchart of an example method 2260 for causingexecution of an action based on physical presence of a detected person.Method 2260 may be implemented by at least one processing device (e.g.,processor 210 of wearable apparatus 110) and by a wearable image sensor(e.g., image sensor 220 of wearable apparatus 110) configured to capturea plurality of images from the environment of the user of the wearableapparatus.

At step 2265, the processing device may analyze at least one of theplurality of images to detect the person. For example, received imagedata may be processed by software steps executed by person detectionmodule 2001. In some embodiments, the processing device may compare oneor more regions of the at least one image against a database of knownpatterns and/or to determine whether a person is included in the one ormore regions. Alternatively or concurrently, the processing device mayapply one or more classifiers to the one or more regions, and the one ormore classifiers may output whether a person is detected in the one ormore regions. Still further, the processing device may execute one ormore algorithms to detect facial features (e.g., mouth, eyes, etc.),facial contours, body shape, or any other suitable identifying featureof a person.

In some embodiments, the detection may be binary. In such embodiments,the comparison and/or classifiers may output true if a person isdetected and false if a person is not detected. In other embodiments,the detection may be threshold-based. In such embodiments, thecomparison and/or classifiers may output a percentage or othermeasurement of confidence that the one or more regions include a person.For example, the comparison may output a likelihood (e.g., a 58%likelihood) that the one or more regions include a person. By way offurther example, the classifiers may output a score (e.g., a score of 8out of 10) that the one or more regions include a person. In suchembodiments, the processing device may use a threshold (e.g., at least55%, at least 7 out of 10, etc.) to convert the output to a binarydetection.

At step 2270, the processing device may analyze at least one of theplurality of images to determine whether the detected person isphysically present in the environment of the user or whether a graphicalrepresentation of the detected person appears in the environment of theuser. For example, received image data may be processed by softwaresteps executed by physical presence identification module 2002 executingany one or more of the techniques discussed above. Similar to step 2265,the processing device may compare one or more regions of the at leastone image against a database of known patterns and/or images to make thedetermination. Alternatively or concurrently, the processing device mayapply one or more classifiers to the one or more regions, and the one ormore classifiers may output the determination. Accordingly, in someembodiments, the analysis may include selecting, in the at least one ofthe plurality of images, one or more regions located within a thresholddistance from the detected person and analyzing the selected one or moreregions.

In some embodiments, a confidence score or the like may be associatedwith the determination. For example, the comparison may output thedetermination with a confidence score (e.g., a 64% confidence score). Byway of further example, the classifiers may output the determinationwith a confidence score (e.g., a score of 4 out of 10). In suchembodiments, the processing device may use a threshold (e.g., at least55%, at least 7 out of 10, etc.) to finalize the determination.Alternatively or concurrently, the comparison and/or classifiers mayoutput a first confidence score or the like associated with adetermination that the detected person is physically present in theenvironment of the user and a second confidence score or the likeassociated with a determination that a graphical representation of thedetected person appears in the environment of the user. In suchembodiments, the processing device may select the determination with thehighest confidence score.

At step 2275, the processing device may select a first action after thedetermination is made that the detected person is physically present inthe environment of the user. Selection of the first action may befacilitated via action module 2003. For example, the first action mayinclude transmitting information associated with a physical location ofthe wearable apparatus, updating at least one of a database and a socialnetwork profile based on information associated with a physical locationof the wearable apparatus; determining one or more statistics based, atleast in part, on information associated with a physical location of thewearable apparatus; or the like. As an example, when the detected personis physically present in the environment of the user, the processingdevice may update a database and/or a social network profile with arecord of the interaction between the user and the detected person. Insuch an example, the update may include a physical location of thewearable apparatus. Alternatively or concurrently, the update mayinclude a time and/or a date of the interaction. In embodiments wherethe first action include determining one or more statistics, theprocessing device may update a count of persons associated with aphysical location of the wearable apparatus and/or associated with atime and/or date of the interaction.

At step 2280, the processing device may select a second action differentfrom the first action after the determination is made that the graphicalrepresentation of the detected person appears in the environment of theuser. Selection of the second action may be facilitated via actionmodule 2003. For example, the second action may include transmittinginformation associated with at least one of a time and a date (e.g., atime and a date of capture of at least one of the plurality of images),updating a database or a social network based on information associatedwith at least one of a time and a date (e.g., a time and a date ofcapture of at least one of the plurality of images); identifying one ormore statistics based, at least in part, on information associated withat least one of a time and a date (e.g., a time and a date of capture ofat least one of the plurality of images); or the like. As an example,when the graphical representation of the detected person appears in theenvironment of the user, the processing device may update a databaseand/or a social network profile with a television show, movie, or othermedia in which the graphical representation appears. In such an example,the update may include a time and/or a date of capture of the at leastone image with the detected person. Alternatively or concurrently, theupdate may include a physical location associated with the wearableapparatus. In embodiments where the second action include identifyingone or more statistics, the processing device may update a count ofdisplays (or television shows or movies or the like) associated with atime and/or a date of capture of the at least one image with thedetected person and/or associated with a physical location of thewearable apparatus.

In addition, the first action and/or the second action may includetaking no action. Accordingly, the wearable apparatus 110 may take noaction if the detected person is physically present in the environmentof the user and/or if a graphical representation of the detected personappears in the environment of the user. Accordingly, wearable apparatusmay only update at least one of a database and a social network profile,determine or identify one or more statistics or the like when thedetected person is physically present in the environment of the userand/or if a graphical representation of the detected person appears inthe environment of the user.

At step 2285, the processing device may cause the first action or thesecond action to be executed. In some embodiments, causing the firstaction or the second action to be executed may include sendinginformation to a device paired with the wearable apparatus. A devicepaired with the wearable apparatus may include a smartphone, a tablet, alaptop, or the like. Accordingly, the processing device may sendinformation to the paired device using a wired connection (such as auniversal serial bus (USB), or the like), a direct wireless connection(such as Bluetooth®, or the like), and/or an indirect wirelessconnection (such as WiFi, 4G, or the like).

The transmitted information may include at least one of the plurality ofimages, one or more regions of at least one image (e.g., one or moreregions used to detect a person and/or identify an attribute), one ormore determinations of whether detected persons in the plurality ofimages are visible on the display or physically present, a physicallocation of the wearable apparatus, a time and/or a date of capture ofthe images, or the like. Furthermore, the transmitted information mayallow the paired device to execute one or more selected actions. Forexample, the processing device may update at least one of a database anda social network profile based on information associated with a timeand/or a date; identify one or more statistics based, at least in part,on information associated with a time and/or a date; or the like.

Method 2260 may further include additional steps. For example, any ofthe additional steps of method 2230 and/or method 2200 may be includedin method 2260.

Updating Profile Information for a Person Viewed by Multiple WearableApparatuses

In some embodiments, a plurality of persons may use a plurality ofwearable apparatuses, such as wearable apparatus 110, and a profileassociated with a particular person may be updated using informationfrom one or more of the plurality of wearable apparatuses. In someembodiments in which the profile is updated based on information from aplurality of wearable apparatuses, the profile may be considered to be ajoint profile as the profile may reflect information collected and/orupdated from the plurality of wearable apparatuses.

In certain aspects, the profile may be stored and updated on a serverand/or on a shared storage and/or on a shared database to which theinformation from the one or more wearable apparatuses is sent. In doingso, embodiments consistent with the present disclosure may address thetechnical problem of extracting, collating, and indexing informationfrom a plurality of wearable apparatuses and keeping the informationupdated such that it remains useful rather than stale, out-of-date,and/or inaccurate. Further, collecting and leveraging data from multiplewearable apparatuses may contribute to an approved accuracy of aparticular person's profile. For example, updates to the profile may bemore frequent and therefore are more likely to be accurate and complete.Moreover, the improved accuracy and completeness of the profile mayprovide for the delivery or relevant news, advertisements, or the liketo the person associated with the profile. Embodiments of the presentdisclosure may address this problem through techniques for managinginformation extracted or determined from images of multiple wearabledevices and properly indexing and storing the extracted or determinedinformation in a database of profiles.

Although discussed herein in association with a profile related to aparticular person, the disclosed systems and methods may equally applyto updating and/or managing a profile related to an object or a place.

FIG. 23 illustrates an exemplary embodiment of a memory 2300 containingsoftware modules consistent with the present disclosure. Memory 2300 maybe included in apparatus 110 in lieu of or in combination with memory550. In some embodiments, one or more software modules of memory 2300may be stored in a remote server, e.g., server 250. Memory 2300 maystore more or fewer modules than those shown in FIG. 23.

As illustrated in FIG. 23, included in memory 2300 are softwareinstructions to execute a person detection module 2301, anidentification information module 2302, an auxiliary information module2303, and a profile module 2304. Modules 2301, 2302, 2303, and 2304 maycontain software instructions for execution by at least one processingdevice, e.g., one or more processes, included in a remote server, e.g.,server 250. In some embodiments, person detection module 2301,identification information module 2302, auxiliary information module2303, and profile module 2304 may cooperate to execute method 2500 (or avariant thereof) of FIG. 25.

Person detection module 2301 may be configured to analyze one or moreimages captured from a wearable apparatus to detect at least one personwithin the images. For example, person detection module 2301 may beconfigured to identify a subset of the captured data that includes atleast one person. In some embodiments, person detection module 2301 maybe configured to receive a plurality of images and to identify one ormore of the plurality of images that include at least one person. Forexample, module 2301 may receive a plurality of images of an environmentsurrounding a user wearing wearable apparatus 110 and identify which ofthe plurality of images include at least one person.

In some embodiments, such an analysis may be performed by employing afacial recognition algorithm designed to detect facial features (e.g.,mouth, eyes, etc.), facial contours, body shape, or any other suitableidentifying feature of a person. In other embodiments, the at least oneperson may be identified using a thermal signature algorithm designed todetect the presence of at least one person based on the heat generatedby the at least one person. In such embodiments, the wearable apparatus110 may capture thermal images, either alone or in combination withvisual images, for processing by the thermal signature algorithm.Thermal recognition of the at least one person may be desirable inimplementations in which the wearable device 110 is operating in reducedlighting situations. In some embodiments, the at least one person may beidentified through the application of one or more image classificationtechniques. For example, at least one image classification technique maybe used to classify at least one feature of an image. In someembodiments, an image classification technique may include one or moreof image enhancement, edge detection, image analysis, and dataextraction. Specific examples of the methods for identifying at leastone person are exemplary only, and a person of ordinary skill in the artwill recognize other methods for identifying the at least one personthat remain consistent with the present disclosure. In some examples,the at least one person may be detected using a facial detectionalgorithm, using a neural network trained to detect faces and/or personsin images, and so forth.

Identification information module 2302 may be configured to obtainidentification information associated with the detected persons. Forexample, identification information may include a name, birthday, orother real life indicator of the detected person and/or may include anidentification number, a username, or other artificial (optionallyanonymous) indicator of the detected person. In some embodiments, theidentification information may comprise a plurality of indicators.

In some embodiments, identification information of a detected person maybe obtained based on analysis of one or more images of the detectedperson. For example, one or more algorithms may analyze one or more ofdetected facial features (e.g., mouth, eyes, etc.), facial contours,body shape, or any other suitable identifying feature of a person todetermine one or more indicators associated with the detected person. Inanother example, identification information module 2302 may obtainidentification information through facial recognition. Identificationinformation module 2302 may then access a database included, forexample, in remote server 250 and/or a database accessible over anetwork in order to search for and retrieve information related to thedetected person.

In some embodiments, identification information module 2302 may apply atleast one hashing function on at least part of at least one image of thedetected person captured by the wearable image sensor to obtain a hashvalue of the detected person. Accordingly, obtaining the identificationinformation may include obtaining a hash value associated with thedetected person and accessing a plurality of hash values to determinethe existence of a hash value associated with the detected person basedon the obtained hash value. In some embodiments, then, a plurality ofhash values may be stored in a lookup database, which may be separatefrom or form a part of the database of profiles.

In some examples, the at least part of at least one image of thedetected person may comprise at least one image of a face of thedetected person. By hashing the face (or any other portion of at leastone image) of the detected person, identification information module2302 may allow for indexing and lookup of the detected person in thedatabase without compromising the anonymity of the detected person.Accordingly, in such embodiments, even if the hash value of the detectedperson were intercepted, for example, while traveling across a computernetwork, the identity of the detected person may remain hidden from theintercepting party.

In some examples, the at least one hashing function may compriseobtaining an identifier of a person (such as a unique identifier, anearly unique identifier, a name, a login name, a user name from asocial network, and so forth), for example using a person recognitionalgorithm and/or facial recognition algorithm, and evaluating a hashfunction on the unique identifier. Examples of such hash functions mayinclude a cryptographic hash function, a perfect hash function, anonlinear table lookup hash function, and so forth. In some examples,the at least one hashing function may comprise projecting the image ofthe detected person (or of the face of the detected person) to ann-dimensional space to obtain an n-dimensional vector, quantizing then-dimensional vector, and using the resulting quantized n-dimensionalvector as a hash value and/or evaluating a hash function on thequantized n-dimensional vector. In some cases, the projection functionmay be the result of training a machine learning dimensional reductionalgorithm on training examples, where a training example may comprise animage of a person and/or a face with a desired n-dimensional vectorand/or indication of desired distance and/or proximity to otherdata-points in the n-dimensional space.

Auxiliary information module 2303 may be configured to obtain auxiliaryinformation associated with the detected person. For example, auxiliaryinformation module 2303 may obtain position information, a capture timeof at least one of the one or more images, information associated with auser of the wearable image sensor (e.g., identification informationassociated with the user, one or more images of the user, or the like).

Alternatively or concurrently, auxiliary information may be obtainedfrom analysis of the one or more images of the detected person. Forexample, auxiliary information module 2303 may analyze one or more ofdetected facial features, facial contours, body position, or the like todetermine an emotional state of the detected person and/or a facialexpression of the detected person. In another example, auxiliaryinformation module 2303 may analyze the one or more images to determineinformation associated with a distance (e.g., a measurement of thedistance, a direction of the distance, etc.) of the wearable imagesensor to the detected person. In some embodiments, auxiliaryinformation may be obtained from analysis of one or more images of otherdetected persons. Accordingly, the auxiliary information may includeinformation related to a second person appearing in the one or moreimages with the detected person. For example, auxiliary informationmodule 2303 may analyze one or more of detected facial features, facialcontours, body position, or the like to obtain information associatedwith at least one other person. In certain aspects, the detected personand the at least one other detected person may be detected in the sameimage.

Alternatively or concurrently, auxiliary information may be obtainedfrom input to a wearable apparatus. For example, auxiliary informationmodule 2303 may receive at least one of audio topics and video topicsfrom the wearable apparatus (or from user input into the wearableapparatus). Similarly, an emotional state of the detected person, afacial expression of the detected person, and/or information associatedwith at least one other person may be obtained from user input into thewearable apparatus.

Moreover, the auxiliary information may directly include at least partof an image. For example, at least part of an image of the one or moreimages of the detected person may be included in the auxiliaryinformation. Alternatively or concurrently, at least part of an image ofthe one or more images of other detected persons may be included in theauxiliary information.

In some embodiments, auxiliary information module 2303 may be configuredto receive one or more images of detected persons and further analyzethe one or more images to obtain at least one property associated withthe detected person (e.g., age, gender, weight, height, facialexpression, emotional state, etc.) associated with the identifiedpersons.

In some embodiments, the at least one property of a detected person maybe determined based on further analysis of one or more images of thedetected person. For example, one or more algorithms may analyze one ormore of detected facial features (e.g., mouth, eyes, etc.), facialcontours, body shape, or any other suitable identifying feature of aperson to estimate or determine information such as a the detectedperson's age, gender, weight, height, facial expression, emotionalstate, etc.

In some embodiments, auxiliary information module 2303 may determine anidentity of a detected person (e.g., through facial recognition) orreceive identification information from identification informationmodule 2302, and then access one or more databases (stored, e.g.,locally in a memory of wearable apparatus 110 and/or accessible remotelyover a network, e.g., such as by accessing server 250) to retrieve atleast one property of the detected person. For example, afteridentifying a detected person as a particular individual (e.g.,determining a match based on facial recognition to a known person'simage), auxiliary information module 2303 may access a database toretrieve information about the detected person, such as the detectedperson's age, gender, family members, friends, etc.

In some embodiments, the auxiliary information may include informationrelated to at least one item associated with the detected person. Forexample, auxiliary information module 2303 may analyze one or moreregions of the one or more images to identify the at least one item. Insome embodiments, the regions may include regions within a particulardistance of the detected person. In some embodiments, the at least oneitem may include a product appearing in the one or more images with thedetected person. For example, auxiliary information module 2303 maycompare at least a portion of the one or more regions to known patternsand/or images to identify the product. Alternatively or concurrently,auxiliary information module 2303 may use one or more classifiers on theone or more regions to identify the product.

In some embodiments, the auxiliary information may include informationrelated to an action performed by the detected person. For example,using one or more comparisons to known patterns and/or images and/orusing one or more classifiers, auxiliary information module 2303 mayidentify an action being performed by the detected person. In such anexample, auxiliary information module 2303 may identify the detectedperson as cheering if a facial expression of the detected person matchesknown images and/or patterns of people cheering and/or is identified asan image of cheering by one or more classifiers trained to recognizepeople cheering.

Profile module 2304 may be configured to identify, in a database storinga plurality of profiles, a profile associated with the detected personbased on the identification information and update the identifiedprofile based on the auxiliary information. For example, profile module2304 may identify the profile using at least a portion of theidentification information. The profile may be included in a databaseindexed by identification information. Accordingly, in some embodiments,profile module 2304 may use an indicator determined by identificationinformation module 2302 and query an index of indicators to identify theprofile associated with the detected person. Alternatively orconcurrently, profile module 2304 may query the identificationinformation against the profiles directly (e.g., by performing a fuzzysearch of images in the profiles against at least a portion of the oneor more images of the detected person) to identify the profileassociated with the detected person. Alternatively or concurrently,profile module 2304 may use a hash value, such as a hash valuecalculated by identification information module 2302, to select aprofile.

In some embodiments, profile module 2304 may update the profile byadding at least a portion of the auxiliary information to the profile.Additionally or alternatively, profile module 2304 may update theprofile by adding at least a portion of the identification informationto the profile. For example, profile module 2304 may store at least aportion of the one or more images of the detected person and/or at leasta portion of one or more images of other detected persons in theprofile. In another example, profile module 2304 may store an emotionalstate of the detected person, a facial expression of the detectedperson, information associated with at least one other person, positioninformation, a capture time of at least one of the one or more images,information associated with a user of the wearable image sensor, orother portions of the auxiliary information (and/or identificationinformation) in the profile.

Alternatively or additionally, profile module 2304 may update theprofile based on the auxiliary information (and/or the identificationinformation). For example, information associated with a user of thewearable image sensor may be used to update a network of socialconnections of the detected person stored within the profile. By way offurther example, an emotional state of the detected person and/or afacial expression of the detected person may be used to update anemotional timeline of the detected person stored within the profile.

In some embodiments, profile module 2304 may also provide informationbased on the identified profile. For example, profile module 2304 mayprovide the information to a device paired with the wearable apparatus(e.g., a smartphone or tablet) and/or may provide the information to aremote server (e.g., server 250) over a network. For example, profilemodule 2304 may transmit information from the identified profile to apaired device to alert a user of the wearable apparatus of the name ofthe detected person. In another example, profile module 2304 maytransmit a determined emotional state of the detected person to alertthe user that the detected person is feeling sad and may desirecomforting.

Modules 2301, 2302, 2303, and 2304 may be implemented in software,hardware, firmware, a mix of any of those, or the like. For example, ifthe modules are implemented in software, they may be stored, forexample, in memory 550. However, in some embodiments, any one or more ofmodules 2301, 2302, 2303, and 2304 may, for example, be stored inprocessor 540 and/or located on server 250, which may include one ormore processing devices. Processing devices of server 250 may beconfigured to execute the instructions of modules 2301, 2302, 2303, and2304. In some embodiments, aspects of modules 2301, 2302, 2303, and 2304may include software, hardware, or firmware instructions (or acombination thereof) executable by one or more processors, alone or invarious combinations with each other. For example, modules 2301, 2302,2303, and 2304 may be configured to interact with each other and/orother modules of server 250 and/or a wearable camera system to performfunctions consistent with disclosed embodiments. In some embodiments,any of the disclosed modules may each include dedicated sensors (e.g.,IR, image sensors, etc.) and/or dedicated application processing devicesto perform the functionality associated with each module.

FIG. 24 is an illustration of an example profile 2400 associated with aperson. In some embodiments, at least some of the information stored inprofile 2400 may include or be based upon information collected by oneor more wearable apparatuses, such as wearable apparatus 110.

As would be understood by one of ordinary skill in the art, wearableapparatus 110 may capture images throughout a user's day at a variety oflocations as the environment surrounding the user changes. In this way,wearable apparatus 110 may be configured to capture information relatedto the user and/or various detected persons. Disclosed embodiments mayuse the captured information to construct profiles associated with theuser and/or detected persons and index those profiles within one or moredatabases.

In the example of FIG. 24, profile 2400 includes position information2401. For example, position information 2401 may include indicators oflocations in which a person was detected by one or more wearableapparatuses. For example, position information 2401 may includeindicators that the person was detected in zip code 20001; at theStarbucks on New York Ave NW; at particular GPS coordinates; at a streetaddress; in a particular country, city, state, and/or county; at aparticular landmark; or the like.

As further illustrated in FIG. 24, profile 2400 may include times and/ordistances 2402 related to the capture of one or more images of theperson. For example, profile 2400 may include information such as theperson being imaged at a particular date and/or time, such as at 4:30 pmon Tuesday, November 9; at 21:16 on Halloween 2018; or the like.Further, as other examples, such information may include distancesbetween persons or between person and objects as determined fromcaptured images.

Profile 2400 may further include emotional states 2403 and/or facialexpressions 2404 of the person. For example, emotional states mayinclude information and/or images reflected observed emotional states(e.g., happy, sad, etc.) determined from analysis of one or more images.In some embodiments, such information may be correlated with datesand/or times at which the emotional state was observed. Similarly,facial expressions may include information and/or images reflectingobserved facial expressions (e.g., smiling, frowning, etc.) determinedfrom analysis of one or more images. In some embodiments, suchinformation may be correlated with dates and/or times at which thefacial expression was observed.

As further illustrated in FIG. 24, profile 2400 may include audio topicsand/or video topics 2405 associated with the person. In someembodiments, audio topics may have been determined through analysis ofaudio data recorded by a microphone included a wearable apparatus.Similarly, in some embodiments, video topics may have been determinedthrough analysis of video data captured by an image sensor included awearable apparatus.

In addition, profile 2400 may include information about nearby items2406. Such information may be determined through analysis of one or moreimages captured by a wearable apparatus. As explained above in referenceto auxiliary information module 2303, the nearby items may includeproducts within a vicinity of a person included in an image and/or auser of a wearable apparatus.

In some embodiments, profile 2400 may include demographic information2407. For example, estimates of age, height, weight, gender,socioeconomic status, or the like may be included in profile 2400.

Although profile 2400 include the foregoing exemplary information,profile 2400 may include any information collected related to aparticular person, object, or location. In some embodiments, at leastsome of the information stored in profile 2400 includes and/or is basedupon information collected by one or more wearable apparatus. Suchcollected information may include any combination of images, video, andaudio, and/or or any information derived from analysis of anycombination of images, video, and audio.

In some embodiments, profile 2400 may be stored in a server, in a sharedstorage device, in a distributed database, in a blockchain, and soforth.

FIG. 25 illustrates a flowchart of an example method 2500 for updatingprofile information based on data collected by a wearable apparatus.Method 2500 may be implemented by at least one processing device (e.g.,one or more processors of server 250) receiving information from one ormore wearable image sensors (e.g., image sensor 220 of wearableapparatus 110) configured to capture a plurality of images from theenvironment of the user(s) of the wearable apparatus(es).

At step 2510, the processing device may obtain identificationinformation associated with a person detected in one or more imagescaptured by a wearable image sensor included in the wearable apparatus.For example, received image data may be processed by software stepsexecuted by person detection module 2301 and/or identificationinformation module 2302. In some embodiments, the detection may includecomparing one or more regions of the at least one image against adatabase of known patterns and/or images to determine whether a personis included in the one or more regions. Alternatively or concurrently,the detection may include applying one or more classifiers to the one ormore regions, and the one or more classifiers may output whether aperson is detected in the one or more regions. Still further, thedetection may include using one or more algorithms to detect facialfeatures (e.g., mouth, eyes, etc.), facial contours, body shape, or anyother suitable identifying feature of a person. In some embodiments, thedetection may be performed by a separate processing device. For example,the detection may be performed by processor 210 of wearable apparatus110, and obtaining identification information associated with thedetected person may be performed by one or more processors of server250. In some embodiments, detecting and person and obtainingidentification information associated with the detected person may beperformed in a single device, for example by processor 210 of wearableapparatus 110, by server 250, and so forth.

In some embodiments, the identification information may include a name,birthday, or other real life indicator of the detected person and/or mayinclude an identification number, a username, or other artificial(optionally anonymous) indicator of the detected person. In someembodiments, the identification information may comprise a plurality ofindicators. In some embodiments, the identification information maycomprise a hash value, such as a hash value calculated by identificationinformation module 2302.

In some embodiments, identification information of a detected person maybe obtained based on analysis of one or more images of the detectedperson. Similar to the detection, the processing device may compare oneor more regions of the at least one image against a database of knownpatterns and/or images to obtain the identification information.Alternatively or concurrently, the processing device may apply one ormore classifiers to the one or more regions, and the one or moreclassifiers may output the identification information. For example, asdiscussed earlier, one or more algorithms may extract one or more ofdetected facial features (e.g., mouth, eyes, etc.), facial contours,body shape, or any other suitable identifying feature of a person as theidentification information.

In some embodiments, obtaining the identification information mayinclude searching a lookup database, which may be separate from or forma part of a database of profiles, for identification information usingone or more extracted features of the one or more images, as describedabove. In such embodiments, obtaining the identification information mayinclude obtaining a hash value associated with the detected person andaccessing a plurality of hash values to determine the existence of ahash value associated with the detected person based on the obtainedhash value. Accordingly, the lookup database may include and/or beindexed by a plurality of hash values. In one example, the at least partof at least one image of the detected person may comprise at least oneimage of a face of the detected person.

At step 2520, the processing device may obtain, for example from thewearable apparatus, auxiliary information associated with the detectedperson. For example, received image data may be processed by softwaresteps executed by auxiliary information module 2303 to produce theauxiliary information. In another example, step 2520 may comprisereceiving the auxiliary information produced by auxiliary informationmodule 2303.

In some embodiments, the auxiliary information may include at least oneof position information, a capture time of at least one of the one ormore images, and information associated with a user of the wearableimage sensor (e.g., identification information associated with the user,one or more images or the user, or the like). Alternatively orconcurrently, the auxiliary information may be obtained from analysis ofthe one or more images of the detected person. For example, theauxiliary information may include at least one of an emotional state ofthe detected person and a facial expression of the detected person. Inanother example, the auxiliary information may include informationassociated with a distance (e.g., a measurement of the distance, aqualitative label of the distance such as “far” or “near,” or the like)of the wearable image sensor to the detected person.

In some embodiments, the auxiliary information may be obtained fromanalysis of one or more images of other detected persons. For example,the auxiliary information may include information associated with atleast one other person detected in the one or more images and/orinformation related to a second person appearing in the one or moreimages with the detected person (e.g., identification informationassociated with the at least one other person and/or the second person,one or more images of the at least one other person and/or the secondperson, or the like). In some examples, the detected person and the atleast one other detected person may be detected in the same image.

Alternatively or concurrently, the auxiliary information may be obtainedfrom input to the wearable apparatus. For example, the processing devicemay receive at least one of audio topics and video topics from thewearable apparatus (or from user input into the wearable apparatus).Similarly, an emotional state of the detected person, a facialexpression of the detected person, information associated with at leastone other person, and/or information related to the second person may beobtained from user input into the wearable apparatus.

Moreover, the auxiliary information may directly include at least partof an image. For example, at least part of an image of the one or moreimages of the detected person may be included in the auxiliaryinformation. Alternatively or concurrently, at least part of an image ofone or more images of the at least one other person and/or the secondperson may be included in the auxiliary information.

In some embodiments, obtaining auxiliary information may includereceiving one or more images of a detected person and further analyzingthe one or more images to obtain at least one property associated withthe detected person (e.g., age, gender, weight, height, facialexpression, emotional state, etc.). In some embodiments, this analysismay be performed by a separate processing device. For example, theanalysis may be performed by processor 210 of wearable apparatus 110,and the output may be received (and thus obtained as the auxiliaryinformation) by one or more processors of server 250.

In some embodiments, the analysis may include applying one or morealgorithms to analyze one or more of detected facial features (e.g.,mouth, eyes, etc.), facial contours, body shape, or any other suitableidentifying feature of a person to estimate or determine informationsuch as a the detected person's age, gender, weight, height, facialexpression, emotional state, etc. In some embodiments, the detectedperson be identified (e.g., through facial recognition), and theauxiliary information including at least one property may be obtainedfrom one or more databases (stored, e.g., locally in a memory ofwearable apparatus 110 and/or accessible remotely over a network, e.g.,such as by accessing server 250).

In some embodiments, obtaining auxiliary information may includereceiving one or more images of a detected person and further analyzingthe one or more images to identify the at least one item associated withthe detected person. For example, the analysis may include analysis ofone or more regions of the one or more images to identify the at leastone item. The regions may, for example, include regions within aparticular distance of the detected person. In some embodiments, theanalysis may further include identifying the at least one item as aproduct. For example, the analysis may include compare at least aportion of the one or more regions to known patterns and/or images toidentify the product. Alternatively or concurrently, one or moreclassifiers may be used on the one or more regions to identify theproduct. In some embodiments, these analyses may be performed by aseparate processing device. For example, the analysis to identify the atleast one item and/or the analysis to identify the at least one item asa product may be performed by processor 210 of wearable apparatus 110,and the output may be received (and thus obtained as the auxiliaryinformation) by one or more processors of server 250.

In some embodiments, the auxiliary information may include informationrelated to an action performed by the detected person. For example,obtaining the auxiliary informing may include using one or morecomparisons to known patterns and/or images and/or using one or moreclassifiers to identify an action being performed by the detectedperson. In some embodiments, this analysis may be performed by aseparate processing device. For example, the analysis may be performedby processor 210 of wearable apparatus 110, and the output may bereceived (and thus obtained as the auxiliary information) by one or moreprocessors of server 250.

In some embodiments, the auxiliary information may include at least oneproperty associated with the detected person. Similar to step 2510, theprocessing device may compare one or more regions of the at least oneimage against a database of known patterns and/or images to determinethe at least one property. Alternatively or concurrently, the processingdevice may apply one or more classifiers to the one or more regions, andthe one or more classifiers may output the attribute. For example, asdiscussed earlier, one or more algorithms may analyze one or more ofdetected facial features (e.g., mouth, eyes, etc.), facial contours,body shape, or any other suitable identifying feature of a person toestimate or determine information such as a the detected person's age,gender, weight, height, facial expression, emotional state, etc. In someembodiments, this analysis may be performed by a separate processingdevice. For example, the analysis may be performed by processor 210 ofwearable apparatus 110, and the output may be received (and thusobtained as the auxiliary information) by one or more processors ofserver 250.

At step 2530, the processing device may identify, in the database, aprofile associated with the detected person based on the identificationinformation. Identifying the profile may be facilitated by softwaresteps executed by profile module 2304. For example, the processingdevice may identify the profile using an indicator included in theidentification information and query an index of indicators to identifythe profile associated with the detected person. Alternatively orconcurrently, the processing device may query the identificationinformation against the profiles directly (e.g., by performing a fuzzysearch of names in the profiles against one or more names and/or partialnames included in the obtained identification information) to identifythe profile associated with the detected person.

At step 2540, the processing device may update the identified profilebased on the auxiliary information. For example, the processing devicemay update the profile by adding at least a portion of the auxiliaryinformation to the profile. Additionally or alternatively, theprocessing device may update the profile by adding at least a portion ofthe identification information to the profile. For example, theprocessing device may store at least a portion of one or more namesassociated with the detected person in the profile. In another example,the processing device may store an emotional state of the detectedperson, a facial expression of the detected person, informationassociated with a second person, position information, a capture time ofat least one of the one or more images, information associated with auser of the wearable image sensor, or other portions of the auxiliaryinformation (and/or identification information) in the profile.

Alternatively or additionally, the processing device may update theprofile based on the auxiliary information (and/or the identificationinformation). For example, information associated with at least oneother detected person may be used to update a network of socialconnections of the detected person stored within the profile. By way offurther example, information associated with at least one other detectedperson may be used to update a calendar of social interactions, businessinteractions, or the like stored within profile.

In some embodiments, the processing device may provide information basedon the identified profile. For example, the processing device mayprovide the information to a device (e.g., a server, a computer, asmartphone, a tablet, etc.) or may transmit the information to anaddress (e.g., an email address) or a network address. In someembodiments, the device to which the information is provided may bepaired with a wearable apparatus. A device paired with the wearableapparatus may include a smartphone, a tablet, a laptop, or the like.Accordingly, the processing device may send information to a deviceusing a wired connection (such as a universal serial bus (USB), or thelike), a direct wireless connection (such as Bluetooth®, or the like),and/or an indirect wireless connection (such as WiFi, 4G, or the like).

In some embodiments, the transmitted information may include at least aportion of the identification information, at least a portion of theauxiliary information, at least a portion of the profile, or the like.

Method 2500 may further include additional steps. For example, theprocessing device may obtain, from a second wearable apparatus,additional auxiliary information associated with the detected person,the additional auxiliary information being based on a second set of oneor more images captured by the second wearable image sensor. Theobtaining of additional auxiliary information associated with thedetected person may be performed similar to the obtaining of theauxiliary information in step 2520. Furthermore, method 2500 may furtherinclude updating the profile of the detected person based on theadditional auxiliary information. The updating of the profile based onthe additional auxiliary information may be performed similar to theupdating of the profile in step 2540.

Determining a Level of Information Detail Provided to a User

In some embodiments, wearable apparatus 110 may collect informationrelated to at least one person detected in an environment of the user ofthe wearable apparatus 110. The wearable apparatus 101 may thendetermine what level of detail (e.g., how much) of information toprovide to the user about the detected person. Some existing wearabledevice systems may encounter the technical problem of how to process theinformation collected by the wearable device and use that information toprovide useful feedback to the user. For example, certain existingsystems may capture images that include people in the user'senvironment, but given the increasing quantity of publicly availabledata about individuals and the likelihood that the majority of theavailable data is not of interest to the user, fail to provideinformation pertinent to the user (e.g., information that the user findsuseful or of interest). Some of the presently disclosed embodiments, onthe other hand, may address this problem by assigning affinitymeasurements to a degree of a relationship between the identified personand the user to determine what information and/or level of informationto provide to the user.

For example, in one embodiment, the affinity measurement may be based ona relationship in a social network between the user of the wearableapparatus 110 and the detected person in the captured image. As afurther example, in one embodiment, the user may not receive anyinformation related to a stranger with whom the user has no socialrelationship, but may receive a name and affiliation for a person in acommon social group, and a name and common friends for second degreeconnections. In this way, presently disclosed embodiments may addressthe technical problems associated with parsing out information useful toa user in view of the large quantity of data acquired by the wearabledevice and publicly available.

FIG. 26 is a diagram illustrating an example of memory 550 storing aplurality of modules, consistent with the disclosed embodiments. Themodules may be executable by at least one processing device to performvarious methods and processes disclosed herein. Memory 550 may storemore or fewer modules than those shown in FIG. 26.

As illustrated in FIG. 26, memory 550 may store software instructions toexecute a data capture module 2601, a person identification module 2602,an action execution module 2603, a database access module 2604, and mayalso include database(s) 2605. Data capture module 2601 may includesoftware instructions for receiving data from wearable apparatus 110.Person identification module 2602 may include software instructions foranalyzing data obtained by wearable apparatus 110 to identify subsets ofthe captured data including at least one person and informationassociated with the at least one person. Action execution module 2603may include software instructions to cause the occurrence of an actionbased on the information associated with the at least one personidentified in the acquired data. Database access module 2604 may includesoftware instructions executable to interact with database(s) 2605, tostore and/or retrieve information.

Data capture module 2601 may include software instructions for receivingdata from a wearable apparatus, such as a wearable camera system. Datareceived from a wearable camera system may include audio and image data,captured, by, for example, an image sensor or microphone associated withthe wearable camera system. Image data may include raw images and mayinclude image data that has been processed. Raw images may be provided,for example, in the form of still images and video data, either with orwithout embedded metadata. In some embodiments, image data and audiodata may be preprocessed prior to capture by data capture module 2601.Preprocessing may include, for example, noise reduction, artifactremoval, compression, and other image pre-processing techniques.

Person identification module 2602 may be configured to analyze datacaptured by data capture module 2601 to detect or identify a subset ofthe captured data that includes at least one person. In someembodiments, module 2602 may be configured to receive a plurality ofimages and to identify one or more of the plurality of images thatinclude at least one person. For example, module 2602 may receive aplurality of images of an environment surrounding a user wearing thewearable device 110 and identify which of the plurality of imagesinclude at least one person.

In some embodiments, such an analysis may be performed by employing afacial recognition algorithm designed to detect facial features (e.g.,mouth, eyes, etc.), facial contours, body shape, or any other suitableidentifying feature of a person. In other embodiments, the at least oneperson may be identified using a thermal signature algorithm designed todetect the presence of at least one person based on the heat generatedby the at least one person. In such embodiments, the wearable device 110may capture thermal images, either alone or in combination with visualimages, for processing by the thermal signature algorithm. Thermalrecognition of the at least one person may be desirable inimplementations in which the wearable device 110 is operating in reducedlighting situations. In some embodiments, the at least one person may beidentified through the application of one or more image classificationtechniques. For example, at least one image classification technique maybe used to classify at least one feature of an image. In someembodiments, an image classification technique may include one or moreof image enhancement, edge detection, image analysis, and dataextraction. Specific examples of the methods for identifying at leastone person are exemplary only, and a person of ordinary skill in the artwill recognize other methods for identifying the at least one personthat remain consistent with the present disclosure. In some examples,the at least one person may be detected using a face detectionalgorithm, using a neural network trained to detect faces and/or personsin images, and so forth. In some examples, the at least one person maybe identified using a face recognition algorithm, using a neural networktrained to identify people in images, and so forth.

Person identification module 2602 may further be configured to determineor obtain information associated with the at least one person identifiedin the image(s). The information associated with the at least one personmay include a name, nickname, social security number, account number, orany other identifier of the at least one person. Once identifyinginformation is obtained for the at least one person, the personidentification module 2602 may obtain or determine at least one affinitymeasurement representing a degree of a relationship between the user ofthe wearable device 110 and the identified at least one person.

The affinity measurement may be represented in any suitable manner. Forexample, the affinity measurement may be a numerical value assigned on agiven scale, such as 0-1 or 1-100, with larger numbers representing ahigher or closer degree of relationship between the user and the atleast one person and lower numbers representing a lower or more distantdegree of relationship between the user and the at least one person (orvice versa, with lower numbers indicating a higher degree). In otherembodiments, the affinity measurement may be a level selected from afinite number of levels, for example with each level representing arange capturing the number of years the user has been associated withthe at least one person. For example, a childhood friend whom the userhas known for 15 years may be an affinity 1, which is assigned to peopleknown by the user for 15 or more years. In this example, a friend fortwo months may be assigned an affinity 3, which is assigned to peopleknown by the user for less than a year.

In some embodiments, the affinity measurement may be based on a categorythat indicates a relationship degree. For example, some affinitycategories may include family, friends, acquaintances, co-workers,strangers, etc. In other embodiments, the affinity measurement maycapture the emotional and/or social closeness of the user to the atleast one person. For example, close friends and family (e.g., childhoodfriends and siblings) may be assigned a similar affinity measurement,while more distant friends and family (e.g., co-workers and secondcousins) may be assigned a different affinity measurement. Indeed, theaffinity measurement may be assigned in any suitable manner, not limitedto the examples herein, depending on implementation-specificconsiderations.

In some embodiments, the affinity measurement may be based on a socialnetwork. In some examples, the distance between two persons in socialnetwork may calculated as the minimal number of social networkconnections required to connect the two persons, and the affinitymeasurement may be based on the distance. For example, let the number ofsocial network connections required to connect the two persons be N, theaffinity measure may be calculated as 1/N, as exp(−(N−A)/S) for someconstants A and S, as ƒ(N) for some monotonically decreasing function ƒ,and so forth. In some examples, the affinity measurement of two personsmay be calculated based on the number of shared connections the twopersons have in the social network. For example, let the number ofshared connections the two persons have in the social network be M, theaffinity measure may be calculated as M, log(M), as exp((M−A)/S) forsome constants A and S, as ƒ(M) for some monotonically increasingfunction ƒ, and so forth. For example, let the number of sharedconnections the two persons have in the social network be M, and let thenumber of connections the first person and second person have in thesocial network be M1 and M2 correspondingly, the affinity measure may becalculated as M/sqrt(M1*M2), as ƒ(M,M1,M2) for some function ƒ that ismonotonically increasing in M and monotonically decreasing in M1 and M2,and so forth. In some examples, the affinity measurement of two personsmay be calculated based on the number and/or length of interaction(e.g., conversations) the two persons conducted in the social network.For example, let the overall length of interaction the two personsconducted in the social network be M, the affinity measure may becalculated as M, log(M), exp((M−A)/S) for some constants A and S, ƒ(M)for some monotonically increasing function ƒ, and so forth.

Action execution module 2603 may be configured to perform a specificaction in response to the identification of one or more images includingthe at least one person. For example, action execution module 2603 maydetermine, based on the at least one affinity measurement, aninformation level to be disclosed to the user of the wearable apparatus.In certain embodiments, the information level may be an amount,quantity, extent, type, and/or quality of information. For example, ahigher information level may provide the user a greater amount ofinformation (e.g., name, athletic interests, and job title) than a lowerinformation level (e.g., only name). In other embodiments, theinformation level may provide matchmaking information if the affinitymeasurement indicates a non-familial connection between the user and theat least one person.

Action execution module 2603 may further be configured to provideinformation to the user of the wearable apparatus based on theinformation associated with the at least one person identified in thecaptured images and the determined information level. The informationprovided to the user may include, for example, a person's name, jobtitle, gender, interests, hobbies, political affiliation, work relatedinformation (e.g., whether the user and the at least one person haveworked together in the past), leisure related information (e.g., whetherthe user and the at least one person have played sports together in thepast, whether the user and the at least one person are predicted to be asuccessful match, whether the at least one person is single, etc.),matchmaking information (e.g., whether the user and the at least oneperson have dated in the past), or any other information about the atleast one person that is available to the wearable device 110.

Database 2605 may be configured to store any type of information of useto modules 2601-2604, depending on implementation-specificconsiderations. For example, in embodiments in which action executionmodule 2603 is configured to provide the information about theidentified at least one person to the user of the wearable apparatus110, database 2605 may store prior-collected information about theuser's social, familial, or other contacts. Further, the database 2605may store the metadata associated with the captured images. In someembodiments, database 2605 may store the one or more images of theplurality of captured images that include the at least one person.Indeed, database 2605 may be configured to store any informationassociated with the functions of modules 2601-2604.

Modules 2601-2604 may be implemented in software, hardware, firmware, amix of any of those, or the like. For example, if the modules areimplemented in software, they may be stored in memory 550, as shown inFIG. 26. However, in some embodiments, any one or more of modules2601-2604 and data associated with database 2605, may, for example, bestored in processor 540 and/or located on server 250, which may includeone or more processing devices. Processing devices of server 250 may beconfigured to execute the instructions of modules 2601-2604. In someembodiments, aspects of modules 2601-2604 may include software,hardware, or firmware instructions (or a combination thereof) executableby one or more processors, alone or in various combinations with eachother. For example, modules 2601-2604 may be configured to interact witheach other and/or other modules of server 250 and/or a wearable camerasystem to perform functions consistent with disclosed embodiments. Insome embodiments, any of the disclosed modules may each includededicated sensors (e.g., IR, image sensors, etc.) and/or dedicatedapplication processing devices to perform the functionality associatedwith each module.

FIG. 27 shows an example environment including wearable apparatus 110for capturing and processing images. In the depicted embodiment, user100 may wear wearable apparatus 110 on his or her neck. However, inother embodiments, wearable apparatus 110 may be differently positionedin any suitable location to enable capture of images of the user'senvironment, such as the locations explained in detail above. User 100may be in any location and engaging in any interaction encounteredduring user's daily activities. For example, user 100 may be at aconvenience store, grocery store, sports event, social event,work-related event, movie theater, concert, etc. Wearable apparatus 110may capture a plurality of images depicting the environment to which theuser is exposed while user 100 is engaging in his/her chosen activity.For example, in the illustrated embodiment, wearable apparatus 110 maycapture images that include a first person 2702 and/or a second person2704 interacting with user 100. Further, wearable apparatus 110 may alsocapture, for example, when user 100 turns, one or more additionalpersons 2706 located at a distance from the area in which theconversation with persons 2702 and 2704 is occurring. As such, theimages may show that the user 100 is exposed to persons 2702, 2704, and2706. The images depicting the exposure of user 100 to particularpersons 2702, 2704, and 2706 may be included in a log or otherwise savedin database 2605.

FIG. 27 shows user 100 being exposed to persons 2702, 2704, and 2706while standing. However, as would be understood by one of ordinary skillin the art, wearable apparatus 110 may capture images throughout theuser's day at a variety of locations with the user in a variety ofpositions as the environment surrounding the user changes. For example,images may be captured when the user visits a restaurant for dinner,commutes to and from work, attends social events, etc. In this way,wearable apparatus 110 may be configured to monitor the environmentsurrounding user 100 throughout the user's activities to identifyexposure to one or more persons throughout the time user wears wearableapparatus 110.

In some embodiments, the one or more affinity measurements assigned tothe identified persons 2702, 2704, and/or 2706 may depend on a type ofinteraction of the user 100 with the given identified person. Forexample, in the illustrated embodiment, the user 100 is shaking the handof person 2702 while standing in a conversational position with respectto persons 2702 and 2704. As such, the user 100 and the person 2704 maybe previously acquainted, while the user 100 and the person 2702 mayhave just met. Based on this interaction, a higher affinity measurementmay be assigned to person 2704 than person 2702. For further example,while persons 2706 may be captured in images, user 100 is at a distancefrom persons 2706, thus indicating lack of a current interaction. Assuch, a lower affinity measurement may be assigned to persons 2706 thanpersons 2702 and 2704.

Further, in some embodiments, the affinity measurement(s) assigned tothe identified person(s) may be based in whole or in part on a physicaldistance between user 100 and the person(s) identified. For example, inthe illustrated embodiment, user 100 may be at a distance 2708 fromperson 2702. The distance 2708 may be determined, for example, byanalyzing the size and/or location of the features of the capturedperson(s), using 3D and/or range imaging, and so forth. For example, letthe physical distance between two persons be L, the affinity measure maybe calculated as 1/L, as exp(−(L−A)/S) for some constants A and S, asƒ(L) for some monotonically decreasing function ƒ, and so forth. Stillfurther, in some embodiments, wearable device 110 may be programmed todetermine the distance 2708 or interaction between, for example, user100 and person 2702, by analyzing the captured image. For example,wearable device 110 may recognize that the chest of person 2702 is inthe direct line of capture of the camera in wearable device 110, whichmay in turn indicate the relative position between user 100 and person2702.

FIG. 28A illustrates a flowchart of an exemplary method 2800 foridentifying exposure to at least one person, consistent with embodimentsof the present disclosure. The method 2800 may be carried out, forexample, by a processing device integrated with and/or associated withwearable apparatus 110. In such an embodiment, wearable apparatus 110may include a wearable image sensor, e.g., image sensor 220, configuredto capture a plurality of images from the environment of the user. Forexemplary purposes only, method 2800 for identifying exposure to atleast one person is described herein with respect to processing device210 cooperating with memory 550 to execute modules 2601-2604.

In accordance with method 2800, processor 210 may receive image datacaptured by a wearable image sensor at block 2802. Block 2802 may befacilitated by software instructions of data capture module 2601. Datacapture module 2601 may be configured to execute instructions to receiveimage data from a wearable image sensor, and may also be configured toexecute instructions to control the wearable image sensor. Controllingthe wearable image sensor may include issuing commands to record imagesand/or videos, and may also include issuing commands to control anorientation or direction of viewing of the image sensor.

Received image data may be processed via software steps executed byperson identification module 2602. For example, at block 2804, personidentification module 2602 may identify one or more images including theat least one person from a plurality of captured images. For example,the at least one person may be person 2702, and the module 2602 mayanalyze the plurality of images to identify a subset of the capturedimages that include features sized, shaped, or otherwise resembling aperson. Further, at block 2806, the one or more identified images may beprocessed to identify the particular person(s) depicted in the imagesflagged as including person(s). In another example, at block 2804 and/or2806, person identification module 2602 may identify unique instances ofthe at least one person appearing in the plurality of captured images.

At block 2808, person identification module 2602 may further analyze thesubset of the captured images including the at least one person todetermine information associated with the at least one person. Theinformation associated with the at least one person may include a name,nickname, hobby, interest, like, dislike, places frequently visited,sexual orientation, gender, political affiliation, nationality, sportingevents attended, or any other identifier or information available aboutthe given person. Further, the information about the at least one personmay be sourced from any desired location. For example, the informationmay be sourced from prior-sourced information stored in database(s) 2605via database access module 2604. For further example, the informationmay be sourced from one or more social media accounts. In suchembodiments, wearable device 110 may source the information publiclyavailable via a web browser and/or through a private account of user100. In other embodiments, the information may be sourced from recordsof email, text, voicemail, or telephone communications between user 100and the at least one identified person. Indeed, the information may besourced from any suitable location, not limited to those describedherein, depending on implementation-specific considerations.

At block 2810, person identification module 2602 may determine or obtainat least one affinity measurement representing a degree of arelationship between the user 100 and the at least one identifiedperson. The at least one affinity measurement may take any of the formsdescribed above. Further, the at least one affinity measurement may bebased on one or more factors indicative of the degree of therelationship between the user 100 and the identified at least oneperson. For example, in some embodiments, the affinity measurement maybe based on a social graph, a social network, a type of interactionbetween the user 100 and the at least one person, a physical distancebetween the user 100 and the at least one person, or any other suitablefactor. In one embodiment, the affinity measurement may capture therelationship between the user 100 and the at least one person in asocial network (e.g., a list of contacts on a social media site) toensure that an appropriate level of information is provided to the user100. For example, in one embodiment, a low affinity measurement mayensure that the user 100 would not receive any information related to astranger, but a higher affinity measurement would ensure that the user100 would receive a name and affiliation for person in a common group,or a name and common friends for second degree connections. In someembodiments, an appropriate affinity measurement could ensure that for adetected person that is a first degree connection, even more informationcould be provided, such as the time of a last meeting, a last email,etc.

In the embodiment illustrated in FIG. 28A, at block 2812, the dataincluding the information associated with the at least one person and/orthe affinity measurement(s) is transmitted to an external device. Theexternal device may be a smartphone, tablet, smartwatch, laptop, server,or any other suitable device configured to process the transmitted data.To that end, the external device and wearable apparatus 110 may includesuitable components to enable data transfer between wearable apparatus110 and the external device. For example, in one embodiment, thewearable apparatus may include a transmitter configured to enablewireless pairing with a receiver located in the external device. In suchembodiments, the wearable apparatus and the external device may bereversibly or irreversibly paired to enable exclusive data transferbetween the two devices. The pairing may be established by the user ofthe wearable apparatus and external device, or may be automaticallyperformed when the wearable apparatus and the external device are withina given distance from one another (e.g., within a range such that thetransmitter and receiver are capable of exchanging data).

However, in other embodiments, the transfer of data to the externaldevice at block 2812 may be omitted from method 2800, and furtherprocessing of the data may be performed by the wearable apparatus 110,for example, in action execution module 2603 or using blocks 2824, 2826and 2828. In the exemplary illustrated embodiment, however, theinformation associated with the at least one person and the affinitymeasurement are received by an external device at block 2822 in method2820. At block 2824, method 2820 includes determining an informationlevel to be disclosed to the user 100 of the wearable apparatus 110.

In some embodiments, the information level may be selected from aplurality of alternate information levels, as discussed above. Forexample, a first information level may be for a close social connection,and a second information level may be for a more distant connection.More specifically, with respect to FIG. 27, the first information levelmay be assigned to person 2704, with whom user 100 is alreadyacquainted, and the second information level may be assigned to person2702, whom the user 100 just met. In one embodiment, selection of thefirst information level may result in the shared information includingthe name of the person 2704, and selection of the second informationlevel may result in the provided information not including the name ofthe person 2702.

The method 2820 further includes accessing stored data reflecting thedetermined information level for the at least one person at block 2826and providing the information to the user 100 at block 2828 inaccordance with the assigned information level(s). For example, in oneembodiment, a given information level may correspond to a potentialromantic match, and the information provided to the user 100 may beinformation relevant to whether or not the at least one person is aromantic match. In such an embodiment, the information provided to theuser about the at least one person may include, for example, a name,age, gender, school(s) attended, mutual friends, common interests,dietary preferences, hair color, eye color, weight, height, etc. In suchan embodiment, another information level may correspond to someone whois not a potential romantic match, for example, because the gender ofthe at least one person does not match the gender preference of the user100, the age gap between the user 100 and the at least one person is toolarge, the at least one person is a family member, etc.

In some embodiments, the at least one person may include one or morepersons. For example, in some embodiments, separate affinitymeasurement(s) and/or information level(s) may be assigned to differentpersons identified in the captured images. More particularly, in oneembodiment, a first person identified in the captured images may beassigned a first affinity measurement representing a degree ofrelationship between the user 100 and the first person. A second personmay also be identified in the captured images, and a second affinitymeasurement may be assigned to the second person. The determination ofthe information level provided to the user may be based on both thefirst affinity measurement and the second affinity measurement.

Identifying a Verbal Contract

In some embodiments, wearable apparatus 110 may collect informationrelated to an interaction between the user of the wearable apparatus 110and at least one person detected in an environment of the user of thewearable apparatus 110. For example, in some embodiments, the wearableapparatus 110 may identify when the user and another person detected inthe user's environment enter into a verbal contract.

Some existing wearable device systems may encounter the technicalproblem of how to process the large amount of information collected bythe wearable apparatus 110 and to use that information to provide usefulfeedback and/or services to the user. Some of the presently disclosedembodiments may address this problem by collecting visual and audioinformation, and using the collected information to determine whichframes of the collected information to store for the user. For example,in some embodiments, the wearable apparatus 110 may store the collectedinformation when the video and/or the audio information include featuresassociated with a verbal contract.

Still further, when a verbal contract has been detected, presentlydisclosed embodiments may address the problem of authenticating theidentity of the user of the wearable apparatus 110 and/or the otherparty to the verbal contract. For example, when using automaticallycollected information regarding a verbal contract, it may be desirableto the user of the wearable apparatus 110 and/or the other party to thecontract to register or log the existence of the contract. However,given the possibility of identity fraud, it may be desirable to log onlycontracts for which one or both of the parties are authenticated.Presently disclosed embodiments may address this problem by usingdigital signatures or other electronic verifications of the identity ofone or more of the parties to the contract.

FIG. 29 is a diagram illustrating an example of memory 550 storing aplurality of modules, consistent with the disclosed embodiments. Themodules may be executable by at least one processing device to performvarious methods and processes disclosed herein. Memory 550 may storemore or fewer modules than those shown in FIG. 29.

As illustrated in FIG. 29, memory 550 may store software instructions toexecute a data capture module 2901, a person identification module 2902,a contract identification module 2903, an action execution module 2904,a database access module 2905, and may also include database(s) 2906.Data capture module 2901 may include software instructions for receivingdata from wearable apparatus 110. Person identification module 2902 mayinclude software instructions for analyzing data obtained by wearableapparatus 110 to identify subsets of the captured data including atleast one person and information associated with the at least oneperson. Contract identification module 2903 may include softwareinstructions for analyzing images(s) and/or audio data capture by thewearable apparatus 110 to identify the presence of a verbal contract.Action execution module 2904 may include software instructions to causethe occurrence of an action based on the information that a verbalcontract has been identified. Database access module 2905 may includesoftware instructions executable to interact with database(s) 2906, tostore and/or retrieve information.

Data capture module 2901 may include software instructions for receivingdata from a wearable apparatus, such as a wearable camera system and/ora wearable audio system. Data received from a wearable camera system mayinclude audio and image data, captured, by, for example, an image sensoror microphone associated with the wearable camera system. Image data mayinclude raw images and may include image data that has been processed.Raw images may be provided, for example, in the form of still images andvideo data, either with or without embedded metadata. In someembodiments, image data and audio data may be preprocessed prior tocapture by data capture module 2901. Preprocessing may include, forexample, noise reduction, artifact removal, compression, and other imagepre-processing techniques.

Person identification module 2902 may be configured to analyze datacaptured by data capture module 2901 to detect or identify a subset ofthe captured data that includes at least one person. In someembodiments, module 2902 may be configured to receive a plurality ofimages and to identify one or more of the plurality of images thatinclude at least one person. For example, module 2902 may receive aplurality of images of an environment surrounding a user wearing thewearable device 110 and identify which of the plurality of imagesinclude at least one person, for example using person detection module1701 described above, using person detection module 2001, using persondetection module 2301, and so forth.

In some embodiments, such an analysis may be performed by employing afacial recognition algorithm designed to detect facial features (e.g.,mouth, eyes, etc.), facial contours, body shape, or any other suitableidentifying feature of a person. In other embodiments, the at least oneperson may be identified using a thermal signature algorithm designed todetect the presence of at least one person based on the heat generatedby the at least one person. In such embodiments, the wearable device 110may capture thermal images, either alone or in combination with visualimages, for processing by the thermal signature algorithm. Thermalrecognition of the at least one person may be desirable inimplementations in which the wearable device 110 is operating in reducedlighting situations. In some embodiments, the at least one person may beidentified through the application of one or more image classificationtechniques. For example, at least one image classification technique maybe used to classify at least one feature of an image. In someembodiments, an image classification technique may include one or moreof image enhancement, edge detection, image analysis, and dataextraction. Specific examples of the methods for identifying at leastone person are exemplary only, and a person of ordinary skill in the artwill recognize other methods for identifying the at least one personthat remain consistent with the present disclosure.

Person identification module 2902 may further be configured to determineor obtain information associated with the at least one person identifiedin the image(s). The information associated with the at least one personmay include a name, nickname, social security number, account number, orany other identifier of the at least one person. The identificationinformation of the at least one detected person may be sourced from anysuitable location, such as prior-stored information in database 2906. Insome embodiments, the identification information may be obtained bymatching the captured image(s) of the person with one or more imagesaccessible via the Internet associated with a given identity, and thenassigning that identity to the at least one person detected in theimage(s). In some embodiments, the identification information may beobtained using identification information module 2302, using personidentification module 2602, and so forth.

In some embodiments, person identification module 2902 may furtherobtain one or more profiles of the at least one person in the image(s).Based on the one or more profiles of the at least one person, the personidentification module 2902 may authenticate the identity of the at leastone person. For example, in one embodiment, person identification module2902 may access the digital signature of the at least one person toauthenticate the at least one person. In other embodiments, personidentification module 2902 may authenticate the identity of the at leastone person based on one or more motions of a body part (e.g., a hand) ofthe at least one person, which may be a signature movement of the atleast one person. In another example, person identification module 2902may authenticate the identity of the at least one person based on a faceimage of the person and using a face recognition algorithm. In yetanother example, person identification module 2902 may authenticate theidentity of the at least one person using biometric readings captured bywearable apparatus 110 and by comparing the biometric readings with abiometric signature associated with the person, for example as retrievedfrom database 2906 using database access module 2905.

Contract identification module 2903 may be configured to analyze theplurality of images identified by the person identification module 2902to determine if the images reflect an action associated with theformation of a verbal contract. Further, contract identification module2903 may be configured to analyze at least a portion of the collectedaudio data to identify one or more sounds (e.g., words) associated withthe formation of a verbal contract. In some embodiments, the identifiedsounds may be linked to the user of the wearable apparatus 110 and/orthe detected person in the collected image(s). Still further, in someembodiments, contract identification module 2903 may utilize acombination of actions identified in the analyzed images and soundsidentified in the audio data to determine that a verbal contract hasoccurred between the user of the wearable apparatus 110 and the detectedperson.

For example, in one embodiment, the collected images may show that ahandshake occurred between the user of the wearable apparatus 110 andanother detected person. The analysis of the audio data may show thatone or more words associated with a verbal contract were spoken. Forexample, the audio data may detect words such as “I agree,” “yes,” “youhave a deal,” “it's a deal,” “we're all set,” “I agree to the contract,”“those terms are acceptable to me,” “we agree,” or any other wordsindicative of the formation of a verbal contract. The one or more wordsindicative of a verbal contract may be used alone or in combination withone or more identified actions associated with a verbal contract in thecaptured images by the contract identification module 2903 to determinethat a verbal contract was agreed upon.

Similarly, in some embodiments, the collected images and/or audio datamay be analyzed to determine that a verbal contract did not occur. Insuch embodiments, the analysis of the collected images may show that noactions indicative of a verbal contract were taken (e.g., no handshakeoccurred). Further, the analysis of the audio data may include one ormore words indicating the lack of a verbal contract, such as “I don'tagree,” “no,” “you don't have a deal,” “it's not a deal,” “there's nocontract,” “we'll have to keep working on this,” etc. The one or morewords indicating the lack of a verbal contract may be used alone or incombination with the collected images to determine that a contract islikely not to have occurred.

Action execution module 2904 may be configured to perform a specificaction in response to the identification of one or more images includingthe at least one person and/or the identification of one or more soundsindicative of a verbal contract. For example, action execution module2904 may be configured to authenticate the identity of the user of thewearable apparatus 110, the at least one person identified in thecollected images, and/or a witness to a verbal contract between the userand the at least one person when a verbal contract has been identifiedby contract identification module 2903. For example, in one embodiment,action execution module 2904 may obtain at least one profile of the userof the wearable apparatus 110 and authenticate the user's identity basedon the at least one profile. The at least one profile may be anyrepresentation of identity that is suitable for linking the user and/ordetected person to a given identity. For example, in one embodiment,authenticating the identity of the user may include analyzing one ormore of the captured images, for example, to identify features in theimage of the user's face that are unique to the user. In anotherembodiment, authentication of the user may be performed by analyzing thecaptured images to identify a motion of a body part (e.g., a hand) ofthe user and/or ego motion associated with the user. In someembodiments, authentication of the user may use biometric readingscaptured by wearable apparatus 110 and by comparing the biometricreadings with a biometric signature associated with the user.

In some examples, authenticating the identity of the user may compriseidentifying motion of a body part of the user (e.g., a hand, a head,etc.) from images captured by data capture module 2901, analyze themotion of the body part in the images to determine a distribution ofmotions (e.g., based on positions, relative positions, directions,relative directions, velocity, directional velocity, acceleration and/ordeceleration, direction acceleration and/or deceleration, etc.), andcomparing the distribution to a known past distributions of the user.For example, the distribution of motions may include a histogram ofpositions, relative positions, directions, relative directions,velocity, directional velocity, acceleration and/or deceleration,direction acceleration and/or deceleration, and so forth. In anotherexample, the distribution of motions may include a statisticalcharacteristic (such as mean, variance, entropy, etc.) of positions,relative positions, directions, relative directions, velocity,directional velocity, acceleration and/or deceleration, directionacceleration and/or deceleration, and so forth. Similarly,authenticating the identity of the at least one person may compriseidentifying motion of a body part of the at least one person (e.g., ahand, a head, etc.) from images captured by data capture module 2901,analyze the motion of the body part in the images to determine adistribution of motions (e.g., based on positions, relative positions,directions, relative directions, velocity, directional velocity,acceleration and/or deceleration, direction acceleration and/ordeceleration, etc., as described in details above), and comparing thedistribution to a known past distributions of the at least one person.

In some embodiments, action module 2904 may authenticate the identity ofat least one person identified in the collected images (which may be aside to the verbal contract, a witness, etc.) may include communicatingwith a device associated to the at least one person (for example, with awearable device worn by the at least one person), and obtainingidentifying information and/or identity proof of the at least one personfrom the device associated with the at least one person.

Action execution module 2904 may further be configured to register theverbal contract and the identification information associated with thedetected person based on the authentication of the user, the detectedperson, and/or a witness to the verbal contract. For example, in oneembodiment, the verbal contract may be registered upon authentication ofthe user. However, in other embodiments, the verbal contract may beregistered when the identity of both the user and the detected personare identified. Still further, in some embodiments, the verbal contractmay be registered when the identity of the user, the detected person,and the witness are authenticated.

Registration of the verbal contract may take on any of a variety ofsuitable forms, depending on implementation-specific considerations. Forexample, in one embodiment, registering the verbal contract and theidentification information of the detected person may include storing atleast a portion of the audio data associated with the verbal contractand at least part of the identification information associated with thedetected person, for example, in database(s) 2906. The portion of theaudio data that is stored may include the audio data reflecting theterms of the contract, the offer made by one of the parties, theacceptance made by another of the parties, and any consideration givenfor the contract. The portion of the identification information that isstored may be any portion suitable to identify the person, such as asocial security number, full legal name, nickname, etc.

In some embodiments, registration of the verbal contract and theidentification information of the detected person may includetransmitting at least a portion of the audio data associated with theverbal contract and at least part of the identification informationassociated with the detected person using at least one communicationdevice. For example, in some embodiments, wearable apparatus 110 mayinclude a communication device, such as one or more wirelesstransceivers, as discussed above in connection with FIGS. 5A-5C, whichmay transmit information across network 240 to, for example, computingdevice 120 and/or server 250 In some embodiments, the registered verbalcontract and identification information may be transmitted from thecommunication device to a longer term storage location, such as acloud-based storage facility (e.g., server 250) via network 240. In someembodiments, wearable apparatus 110 may transmit the information to apaired device (e.g., computing device 120), which may then in turntransmit the information to another destination (e.g., server 250) vianetwork 240.

In some embodiments, registration of the verbal contract and theidentification information of the detected person may include posting ona public database and/or a blockchain information based on at least aportion of the audio data associated with the verbal contract and/or atleast part of the identification information associated with thedetected person. The posted information may include at least a portionof the audio data associated with the verbal contract, at least part ofthe identification information associated with the detected person, anyother information related to the verbal contract (such as time, place,witnesses, context of the agreement, financial transfer and/orcommitment, etc.), an encrypted version of any of the above, a digitallysigned version of any of the above, a digital signature of any of theabove with or without the signed data, and so forth. The postedinformation may also include any other information related to thecontract.

In some embodiments, registration of the verbal contract and/oridentification information may include digitally signing at least aportion of the audio data associated with the verbal contract and/or atleast part of the identification information associated with thedetected person. Digitally signing may refer to any technique used tovalidate the authenticity and/or integrity of the data being signed. Forexample, digitally signing may include applying a verified or previouslyauthenticated digital signature of the user, detected person, or witnessto the audio data or identification information. The digital signaturemay include a mark assigned to the user, detected person, or witness,for example, by a company that verifies the identity of its customers.For example, the company may have previously verified its customers'identities based on a review of government-issued documents, such asdrivers' licenses, passports, etc.

In addition to the verbal contract and identification information, otherdata may also be registered by action execution module 2904. Forexample, at least one clock may be configured to provide timeinformation associated with the audio data, for example, by timestampingthe audio data as it is generated and/or collected with a date and/ortime. The time information may be registered with the audio data whenthe verbal contract is registered. In other embodiments, additionaldetails regarding the time, location, conditions, etc. surround theformation of the verbal contract may be registered. For example, atleast one positioning device may be configured to generate positioninformation associated with the verbal contract. The positioning devicemay be, for example, an accelerometer in a device paired with thewearable apparatus (e.g., the user's smartphone) configured to track theposition of the user relative to the user's environment (e.g., that theuser was sitting or standing when the contract was established), aglobal positioning device configured to obtain the position of thewearable apparatus and/or a device paired with the wearable apparatus,and so forth.

In some embodiments, action execution module 2904 may recognize that theverbal contract comprise an obligation and/or a desire of a first entity(such as the user, the at least one person, a third party, etc.) totransfer funds to a second entity (such as the user, the at least oneperson, a third party, etc.), and cause the funds to be transferred froman account of the first entity to an account of the second entity. Insome examples, action execution module 2904 may also inform the firstentity and/or the second entity about the transfer of funds, for examplein an audible output, in an email, in a visual manner, and so forth. Insome examples, before transferring the funds, action execution module2904 may ask the first entity explicit permission, for example using auser interface, an audible user interaction bot, a graphical userinterface, an email, etc.

In some embodiments, action execution module 2904 may provideinformation related to the verbal contract to parties involved in theverbal contract (such as the user, the at least one person, a witness, athird party, etc.). For example, the provided information may include arequest to acknowledge and/or ratify the verbal contract, a summary ofthe verbal contract details, identifying information of parties of theverbal contract and/or witnesses to the verbal contract, a time and/orplace associated with the verbal contract, a reminder (for example inthe form of a calendar event, a pop-up message, an email, etc.) toperform an action related to the verbal contract (such as an action theparty obligated to take in the verbal contract).

Database 2906 may be configured to store any type of information of useto modules 2901-2905, depending on implementation-specificconsiderations. For example, in embodiments in which action executionmodule 2904 is configured to obtain the identification information aboutthe identified at least one person to the user of the wearable apparatus110, database 2906 may store prior-collected information about theuser's identity. Further, the database 2906 may store the metadataassociated with the captured images and/or audio data. In someembodiments, database 2906 may store the one or more images of theplurality of captured images that include the at least one person.Database 2906 may further store some or all of the captured audio dataindicating formation of the verbal contract. In other embodiments,database 2906 may be configured to store the profile of the user,detected person, and/or witness to the contract for reference whenauthenticating the identities of the parties to the verbal contractand/or witnesses to the verbal contract. For example, database 2906 maystore one or more digital signatures. Indeed, database 2906 may beconfigured to store any information associated with the functions ofmodules 2901-2905.

Modules 2901-2905 may be implemented in software, hardware, firmware, amix of any of those, or the like. For example, if the modules areimplemented in software, they may be stored in memory 550. However, insome embodiments, any one or more of modules 2901-2905 and dataassociated with database 2906, may, for example, be stored in processor540 and/or located on server 250, which may include one or moreprocessing devices. Processing devices of server 250 may be configuredto execute the instructions of modules 2901-2905. In some embodiments,aspects of modules 2901-2905 may include software, hardware, or firmwareinstructions (or a combination thereof) executable by one or moreprocessors, alone or in various combinations with each other. Forexample, modules 2901-2905 may be configured to interact with each otherand/or other modules of server 250 and/or a wearable camera system toperform functions consistent with disclosed embodiments. In someembodiments, any of the disclosed modules may each include dedicatedsensors (e.g., IR, image sensors, audio sensors, etc.) and/or dedicatedapplication processing devices to perform the functionality associatedwith each module.

FIG. 30 shows an example environment including wearable apparatus 110for capturing and processing images and audio data. In the depictedembodiment, user 100 may wear wearable apparatus 110 on his or her neck.However, in other embodiments, wearable apparatus 110 may be differentlypositioned in any suitable location to enable capture of images of theuser's environment, such as the locations explained in detail above.User 100 may be in any location and engaging in any interactionencountered during user's daily activities. For example, user 100 may beat a convenience store, grocery store, sports event, social event,work-related event, office, move theater, concert, etc. Wearableapparatus 110 may capture a plurality of images depicting theenvironment to which the user is exposed while user 100 is engaging inhis/her chosen activity. Wearable apparatus 110 may also capture audiodata via at least one audio sensor (e.g., a microphone) reflecting thesounds occurring in the environment surrounding the user. For example,in the illustrated embodiment, wearable apparatus 110 may capture imagesthat include a first person 3002 and/or a second person 3004 interactingwith user 100. As such, the images may show that the user 100 is exposedto persons 3002 and 3004. The images depicting the exposure of user 100to particular persons 3002 and 3004 may be included in a log orotherwise saved in database 2906. Wearable apparatus 110 may furthercapture audio sounds 3006 spoken by user 100 and/or audio sounds 3008spoken by first person 3002.

Wearable apparatus 110 may also capture audio data reflecting one ormore words spoken by user 100, first person 3002, and/or second person3004. As such, at least a portion of the audio data may reflect that averbal contract has occurred between user 100 and first person 3002 bydetecting one or more words indicative of contract formation. Forexample, at least a portion of the audio data at a first timestamp mayreflect that first person 3002 made an offer. Another portion of theaudio data at a second, later timestamp may indicate that user 100accepted the offer. Finally, another portion of the audio data mayindicate that consideration was exchanged to support the offer andacceptance.

Still further, in some embodiments, wearable apparatus 110 may captureimages showing that a handshake occurred between user 100 and firstperson 3002. This may be used either alone or in combination with theaudio data indicating that a verbal contract occurred to determinewhether to register the verbal contract. Additionally, wearableapparatus 110 may capture one or more words spoken by second person3004, a witness to the verbal contract between user 100 and first person3002. For example, witness 3004 may say one or more words indicatingthat witness 3004 believes a contract was formed, such as“congratulations,” “I'm glad you were able to come to an agreement,”“it's wonderful that you agree,” “I'm excited that you decided to worktogether,” or any other words that indicate the belief on the part ofwitness 3004 that a contract has occurred.

FIG. 30 shows user 100 being exposed to persons 3002 and 3004 whilestanding. However, as would be understood by one of ordinary skill inthe art, wearable apparatus 110 may capture images throughout the user'sday at a variety of locations with the user in a variety of positions asthe environment surrounding the user changes. For example, images may becaptured when the user visits a restaurant for dinner, commutes to andfrom work, attends social events, attends work meetings, etc. In thisway, wearable apparatus 110 may be configured to monitor the environmentsurrounding user 100 throughout the user's activities to identifyexposure to one or more persons throughout the time user wears wearableapparatus 110 and to capture audio data associated with the user's dailyactivities.

In some embodiments, wearable apparatus 110 may be programmed toselectively collect data from at least one image sensor and at least oneaudio sensor to reduce the quantity of data collected that is irrelevantto the monitoring of verbal contract formation. For example, in oneembodiment, the at least one image sensor may be activated to collectdata, and the collected images may be processed to determine if theimages include at least one person. When at least one person isidentified in the images, the at least one audio sensor may be triggeredto collect data to capture any conversations that occur between user 100and the at least one person. In this way, the image and audio sensor(s)may be selectively controlled to address the technical problemsassociated with logging and storing large quantities of data that may beacquired by wearable apparatus 110 throughout use by user 100.

FIG. 31A illustrates a flowchart of an exemplary method 3100 forreceiving and analyzing image and/or audio data, consistent withembodiments of the present disclosure. The method 3100 may be carriedout, for example, by a processing device integrated with and/orassociated with wearable apparatus 110. In such an embodiment, wearableapparatus 110 may include a wearable image sensor, e.g., image sensor220, configured to capture a plurality of images from the environment ofthe user. Wearable apparatus 110 may also include a wearable audiosensor configured to capture a plurality of sounds (e.g., one or morewords) from the environment of the user. In some other examples, theentire method 3100 or parts of method 3100 may be performed by a deviceexternal to wearable apparatus 110, such as a device paired withwearable apparatus 110 (such as a smartphone, a tablet, etc.), a servercommunicating with wearable apparatus 110 (such as server 250), and soforth. For exemplary purposes only, method 3100 for image and/or audiodata is described herein with respect to processing device 210cooperating with memory 550 to execute modules 2901-2905.

In accordance with method 3100, processor 210 may receive image datacaptured by a wearable image sensor at block 3102. Block 3102 may befacilitated by software instructions of data capture module 2901. Datacapture module 2901 may be configured to execute instructions to receiveimage data from a wearable image sensor, and may also be configured toexecute instructions to control the wearable image sensor. Controllingthe wearable image sensor may include issuing commands to record imagesand/or videos, and may also include issuing commands to control anorientation or direction of viewing of the image sensor.

Received image data may be processed via software steps executed byperson identification module 2902. For example, at block 3104, personidentification module 2902 may identify one or more images including theat least one person from a plurality of captured images. For example,the at least one person may be person 3002, and the module 2902 mayanalyze the plurality of images to identify a subset of the capturedimages that include features sized, shaped, or otherwise resembling aperson. Further, at block 3106, the one or more identified images may beprocessed to identify the particular person(s) depicted in the imagesflagged as including person(s). In another example, at block 3104 and/or3106, person identification module 2902 may identify unique instances ofthe at least one person appearing in the plurality of captured images.

At block 3108, contract identification module 2903 may further analyzethe subset of the captured images including the at least one person toidentify one or more actions associated with a verbal contract. Forexample, contract identification module 2903 may identify actions suchas a handshake, head nod upward and downward, smiling, or any otherphysical movement cue associated with an offer or acceptance of acontract term.

At block 3110, processor 210 may receive audio data captured by awearable image sensor. Block 3110 may be facilitated by softwareinstructions of data capture module 2901. Data capture module 2901 maybe configured to execute instructions to receive audio data from awearable image sensor, and may also be configured to executeinstructions to control the wearable image sensor. Controlling thewearable image sensor may include issuing commands to record audio data,and may also include issuing commands to control a collection volume orfrequency of the audio sensor. Received audio data may be processed viasoftware steps executed by contract identification module 2903. Forexample, at block 3112, contract identification module 2903 may identifyat least a portion of the audio data including the at least one soundassociated with the formation of a verbal contract.

For example, contract identification module 2903 may analyze thecaptured audio data to identify one or more portions that include one ormore words associated with formation of a verbal contract, as discussedin detail above. Further, in other embodiments, the one or more soundsidentified in the audio data may be sounds associated with certainactions that support the conclusion that a verbal contract was formed.For example, certain sound profiles or frequency components may beassociated a handshake of user 100 and person 3002 and/or the upward anddownward movement of the hand of user 100 during the handshake withperson 3002. To that end, in some embodiments, wearable apparatus 110may be located in other non-illustrated locations, such as proximate theuser's hand, to better capture such audio data.

FIG. 31B illustrates a flowchart of an exemplary method 3120 forauthenticating the identity of one or more of the parties to theidentified verbal contract, consistent with embodiments of the presentdisclosure. The method 3120 may be carried out, for example, by aprocessing device integrated with and/or associated with wearableapparatus 110. In some other examples, the entire method 3120 or partsof method 3120 may be performed by a device external to wearableapparatus 110, such as a device paired with wearable apparatus 110 (suchas a smartphone, a tablet, etc.), a server communicating with wearableapparatus 110 (such as server 250), and so forth. At block 3122, actionexecution module 2904 may obtain at least one profile of the user 100 ofwearable apparatus 110. For example, action execution module 2904 mayaccess a digital signature of user 100 stored in database 2906, asdescribed above. At block 3124, action execution module 2904 mayauthenticate an identity of the user based on the accessed at least oneprofile. For example, in one embodiment, the identity of user 100 may beauthenticated by analyzing the captured images to identify a motion ofat least one hand of the user. In other embodiments, user 100 may beauthenticated by identifying ego motion associated with user 100.

In the illustrated embodiment, method 3120 further includes obtaining atleast one profile of the detected person at block 3126. For example, adigital signature of the detected person may be located in database2906. Based on the at least one profile of the detected person, actionexecution module 2904 may authenticate the identity of the detectedperson at block 3128. The identity of the detected person may beauthenticated in a similar way to the authentication of user 100described above. However, although the embodiment of method 3120 isillustrated with authentication of both user 100 and the detectedperson, in other embodiments, only one of the parties to the contractmay be authenticated prior to registering the verbal contract. Forexample, the identity of user 100 may be known such that only thedetected person is authenticated prior to contract registration. Inother embodiments, only the identity of user 100 may be authenticatedprior to registration of the contract, for example, to reduce oreliminate the likelihood that the individual wearing wearable apparatus110 is not user 100.

At block 3130, the verbal contract and/or identification information ofthe detected person are registered if one or more registrationconditions are met, for example using action execution module 2904 asdescribed in details above. The registration conditions may be anysuitable prerequisite to registration. For example, the registrationconditions may include authentication of user 100, authentication of theother party to the contract, presence of a detected witness,authentication of a detected witness, and so forth. Further,registration may occur in any suitable manner. For example, registrationmay include storing the image(s) and audio data evidencing the contractto database 2906, sending a confirmation of the verbal contract to oneor more parties, etc.

FIG. 31C illustrates a flowchart of an exemplary method 3140 foridentifying and/or authenticating the identity of one or more witnessesto the identified verbal contract, consistent with embodiments of thepresent disclosure. The method 3140 may be carried out, for example, bya processing device integrated with and/or associated with wearableapparatus 110. In some other examples, the entire method 3140 or partsof method 3140 may be performed by a device external to wearableapparatus 110, such as a device paired with wearable apparatus 110 (suchas a smartphone, a tablet, etc.), a server communicating with wearableapparatus 110 (such as server 250), and so forth. At block 3142, actionexecution module 2904 may receive image data captured by a wearableimage sensor. Block 3142 may be facilitated by software instructions ofdata capture module 2901. For example, data capture module 2901 may beconfigured to execute instructions to receive image data from a wearableimage sensor.

At block 3144, the received image data may be processed via softwaresteps executed by person identification module 2902. For example, atblock 3144, person identification module 2902 may identify one or moreimages including the at least one witness from a plurality of capturedimages. For example, the at least one witness may be person 3004, andthe module 2902 may analyze the plurality of images to identify a subsetof the captured images that include features sized, shaped, or otherwiseresembling a person other than person 3002 and user 100. Further, atblock 3146, the one or more identified images may be processed toidentify the particular person(s) that are witnesses and depicted in theimages flagged as including person(s).

The identification information about the at least one witness may besourced from any desired location. For example, the information may besourced from prior-sourced information stored in database(s) 2906 viadatabase access module 2905. For further example, the information may besourced from one or more social media accounts. In such embodiments,wearable device 110 may source the information publicly available via aweb browser and/or through a private account of user 100. In otherembodiments, the information may be sourced from records of email, text,voicemail, or telephone communications between user 100 and the at leastone identified witness. Indeed, the information may be sourced from anysuitable location, not limited to those described herein, depending onimplementation-specific considerations. Once located, the at least partof the identification information may be registered at block 3148. Forexample, the identification of the witness may be registered with theregistration of the verbal contract to indicate that the contract isverified.

Transmitting Information Based on a Physical Distance

In some embodiments, wearable apparatus 110 may collect informationrelated to at least one person or object detected in an environment ofthe user of the wearable apparatus 110. The wearable apparatus 110 maythen transmit information related to the at least one person or objectbased on an estimated physical distance from the user of the wearableapparatus to the at least one person or object. Some existing wearabledevice systems may encounter the technical problem of how to process theinformation collected by the wearable device and use that information toprovide useful feedback to the user. For example, certain existingsystems may capture images that include people or objects in the user'senvironment, but given the amount of collected data and the likelihoodthat the majority of the data is not of interest to the user, fail toprovide information pertinent to the user (e.g., information that theuser finds useful or of interest). Some of the presently disclosedembodiments, on the other hand, may address this problem by providinginformation to the user based on the user's estimated physical distanceto a particular person or object. Such embodiments may make use of theestimated physical distance to determine whether a person or object islikely relevant and/or of interest to the user and then provideinformation to the user on that basis.

As discussed above, system 200 may comprise a wearable apparatus 110,worn by user 100, and an optional computing device 120 and/or a server250 capable of communicating with wearable apparatus 110 via a network240. Consistent with this disclosure, wearable apparatus 110 may analyzeimage data to detect and identify an object or a person, may determine adistance or estimated distance from the user to the identified object orperson, and may transmit information to, for example, update a socialmedia account, as described in greater detail below. Wearable apparatus110 may also transmit information to computing device 120, which may be,for example, a smartphone or tablet having a dedicated applicationinstalled therein. A graphical user interface (GUI) including, forexample, a plurality of user-adjustable feature social media settingsmay be included on display 260 of computing device 120 to visibly outputinformation to an operating user.

FIG. 32 illustrates an exemplary embodiment of a memory containingsoftware modules consistent with the present disclosure. In particular,as shown, memory 3200 may include a detection module 3202, a distancemodule 3204, a transmission module 3206, a database access module 3208,and a database 3210. Modules 3202, 3204, 3206, and 3208 may containsoftware instructions for execution by at least one processing device,e.g., processor 210, included with a wearable apparatus (e.g., wearableapparatus 110). Detection module 3202, distance module 3204, andtransmission module 3206, database access module 3208, and database 3210may cooperate to detect an object, determine a distance to the object,and transmit information related to the detected object. In someembodiments, memory 3200 may be included in, for example, memory 550,discussed above. Further, in other embodiments, the components of memory3200 may be distributed over more than one location (e.g. stored in aserver 250 in communication with, for example, network 240).

In some embodiments, detection module 3202 may detect a person or anobject in the environment of the user of the wearable apparatus.Detection module 3202 may operate in a manner similar to data capturemodule 2601 and person identification module 2602, as illustrated inFIG. 26 and discussed above. For example, detection module 3202 mayinclude software instructions for receiving data from wearable apparatus110, such as a wearable camera system, and may include softwareinstructions for analyzing data obtained by wearable apparatus 110 toidentify a person or an object associated with at least one person. Datareceived from a wearable camera system may include audio and image data,captured, by, for example, an image sensor or a microphone associatedwith the wearable camera system and/or related to an audio topic. Audiodata captured by the microphone may identify an audio topic associatedwith the person. Image data may include raw images and may include imagedata that has been processed. Raw images may be provided, for example,in the form of still images and video data, either with or withoutembedded metadata. In some embodiments, image data and audio data may bepreprocessed prior to it being received by detection module 3202.Preprocessing may include, for example, noise reduction, artifactremoval, compression, and other image pre-processing techniques.

In some embodiments, detection module 3202 may detect or identify asubset or portion of the captured data that includes at least one personor object. In some embodiments, detection module 3202 may be configuredto receive a plurality of images that include at least one person orobject. For example, detection module 3202 may receive a plurality ofimages of an environment surrounding a user wearing the wearable device110 and may identify which of the plurality of images include at leastone person or object.

In some embodiments, detection analysis may be performed by executing afacial recognition algorithm designed to detect facial features (e.g.,mouth, eyes, etc.), facial contours, paralinguistic indicators such asfacial gestures or expressions, body shape, or any other suitableidentifying feature of a person. In other embodiments, the at least oneperson may be identified using a thermal signature algorithm design todetect the presence of at least one person based on the heat generatedby the at least one person. In such embodiments, the wearable device 110may capture thermal images, either alone or in combination with visualimages, for processing by the thermal signature algorithm. Thermalrecognition of the at least one person may be desirable inimplementations in which wearable device 110 is operating in reducedlighting situations. In some embodiments, the at least one person may beidentified through application of one or more classification techniques.For example, at least one image classification technique may be used toclassify at least one feature of an image. In some embodiments, an imageclassification technique may include at least one or more of imageenhancement, edge detection, image analysis, and data extraction.Specific examples of the methods for identifying at least one person orat least one object are exemplary only, and a person of ordinary skillin the art will recognize other methods for identifying the at least oneperson or object that remain consistent with present disclosure.

In some embodiments, the at least one person may be detected using aface detection algorithm, using a neural network trained to detect facesand/or persons in images, and so forth. In some examples, the at leastone person may be identified using a face recognition algorithm, using aneural network trained to identify people in images, and so forth. Inother examples, the at least one object may be detected using an objectdetection algorithm, using a neural network trained to detect objectsand/or associated characteristics in images, and so forth. In someexamples, the at least one object may be identified using an objectrecognition algorithm, using a neural network trained to identifyobjects in images, and so forth.

Detection module 3202 may be further configured to determine or obtaininformation associated with the at least one person or object identifiedin the image(s). Information associated with the at least one person mayinclude a name, nickname, social security number, account number, or anyother identifier of the at least one person. Information associated withthe at least one object may include a length, width, depth, GPS positionof an object, brand of an object, a value or cost of an object, anoccupancy of an object, or any other identifier or characteristicindicator of the at least one object.

In some embodiments, distance module 3204 may determine a measurement ofan estimated physical distance of a detected person or object from theuser of wearable apparatus 110. In some examples, the distance to adetected person and/or object may be estimated using depth imaging, suchas: stereo, active stereo, LIDAR, and so forth. Stereo imaging mayinclude use of spatially separated multiple cameras to form images fromdifferent directions. Depth information may then be extracted from thedifferences in the images to determine a measurement of an estimatedphysical distance. In some embodiments, active stereo imaging mayinclude a range of pulse techniques to measure a particular distance toa point of a person and/or object, and may include, for example, laserpulse or laser line scans, radar, and ultrasound.

In other embodiments, LIDAR techniques may be employed in accordancewith software instructions from distance module 3204 to determine ameasurement of an estimated physical distance to a person or an object.LIDAR relates generally to systems and processes for measuring distancesto a target person or object by illuminating the target person or objectwith laser light and detecting the reflection of the light. For example,a pulsed laser light device, which may be included in wearable apparatus110, may emit light incident upon a surface of a person or an object,and pulsed light reflected from the surface of the person or object maybe detected at a receiver. A timer may measure an elapsed time fromlight being emitted from the laser light device to the reflectionreaching the receiver. Based on a measurement of the elapsed time andthe speed of light, processor 210 may be able to calculate the distanceto the target person or object.

In some embodiments, a receiver in a LIDAR system of distance module3204 of wearable apparatus 110 may be equipped with sensors such asavalanche photodiodes (APD) to detect reflected light pulses atparticular wavelengths. LIDAR systems may also include a scanningmechanism so that the incident laser may scan over multiple points onthe target person or object, and may generate 3-D point clouds thatinclude object distance or depth information. Mechanical LIDAR systemsare well known in the art and include mechanical scanning mechanisms toacquire distance information at multiple points of coverage, and may beincorporated as part of wearable apparatus 110.

In other embodiments, wearable apparatus 110 may include a mechanicalrotatable LIDAR system that may include an upper scanning mechanism anda fixed lower part to determine a distance in accordance with softwareinstructions from distance module 3204. The upper scanning mechanism mayinclude a predetermined number of laser-detector pairs, and may rotateat a fixed frequency to determine an estimated distance to a person orobject. Software instructions from distance module 3204 may change theoperation of a number of laser-detector pairs and may change thefrequency of rotation in order to capture additional data and provideadditional distance measurements.

In other embodiments, the distance to a detected person and/or objectmay be estimated by distance module 3204 based on the size in pixels ofthe person and/or object in the captured images, the position in thecaptured images, and/or based on an estimation of the physical size ofthe person and/or object. For example, if the size in pixels of theperson and/or object in the captured images is determined to be large orcovering a large pixel area, a short distance to the person and/orobject may be estimated. Conversely, if the size in pixels of the personand/or object in the captured images is determined to be small orcovering a small pixel area, a far distance to the person and/or objectmay be estimated. Similarly, if a position of the person and/or objectin the captured images is determined to be in the foreground, a shortdistance to the person and/or object may be estimated. Conversely, if aposition of the person and/or object in the captured images isdetermined to be in the background, a far distance to the person and/orobject may be estimated. Indeed, the distance measurement may beestimated in any suitable manner relating to a person and/or object, notlimited to the examples herein, depending on implementation-specificconsiderations.

In some embodiments, transmission module 3206 may transmit, according tothe determined distance measurement, information related to the detectedperson and/or object. For example, information may be communicated ortransmitted from wearable apparatus 110 to a paired device, such ascomputing device 120, or an external server, such as server 250. In someembodiments, wearable apparatus 110 may include a communication device,such as one or more wireless transceivers, as discussed above inconnection with FIGS. 5A-5C, which may transmit information acrossnetwork 240 to, for example, computing device 120 and/or server 250

In some embodiments, transmission module 3206 may determine whether totransmit information based on at least the determined distance estimatedby distance module 3204. For example, transmission module 3206 maydetermine whether to transmit information in accordance with apredetermined distance threshold. If, for example, it is determined thatan estimated distance to a person or object exceeds a particularpredetermined distance estimate (e.g., greater than 1 meter, greaterthan 5 meters, greater than 10 meters, etc.), information may not betransmitted to the user. Alternatively, if, for example, it isdetermined that an estimated distance to a person or object is within aparticular predetermined distance estimate (e.g., less than 5 meters,less than 2 meters, less than 1 meter, etc.), information may betransmitted to the user.

The information transmitted by transmission module 3206 may include anymeaningful data extracted from the image and may include, for example, aperson's identifier, name, job title, gender, interests, hobbies,political affiliation (e.g., whether the user and the at least oneperson have worked together in the past), leisure related information(e.g., whether the user and the at least one person have played sportstogether in the past, whether the user and the at least one person arepredicted to be a successful match, whether the at least one person issingle, etc.), matchmaking information (e.g., whether the user and theat least one person have dated in the past), or any other informationabout the at least one person that is available to the wearable device110. The information transmitted by transmission module 3206 may alsoinclude, for example, any meaningful data related to a detected objectsuch as a description of the object, value of the object, brand name ofthe object, and any other information about the at least one object thatis available to the wearable device 110. In some examples, theinformation transmitted by transmission module 3206 may include imagesdepicting the at least one person and/or the object. For example, theportions of the image data identified by detection module 3202 asdepicting the at least one person and/or the object may be transmittedby transmission module 3206. In some examples, the informationtransmitted by transmission module 3206 may include properties relatedto the at least one person and/or object identified by analyzing theimages.

In some embodiments, detection module 3202 may detect multiple personsand/or objects, distance module 3204 may determine measurements ofestimated physical distances of the detected persons and/or objects fromthe user of wearable apparatus 110, and transmission module 3206 maydetermine whether to transmit information based on at least thedistances estimated by distance module 3204. For example, transmissionmodule 3206 may determine a threshold based on the person and/or objectwith the smallest estimated physical distance (for example, twice theestimated physical distance, three times the estimated physicaldistance, etc.), transmit information related to persons and/or objectscorresponding to estimated physical distances smaller than thedetermined threshold, and withhold transmission of information relatedto persons and/or objects corresponding to estimated physical distancesgreater than the determined threshold. In another example, transmissionmodule 3206 may cluster the distances estimated by distance module 3204,for example using a clustering algorithm, and perform different actionswith information related to persons and/or objects corresponding todifferent clusters, for example the actions may include transmittinginformation related to persons and/or objects corresponding to onecluster, providing audible output to a wearer of wearable apparatus 110about persons and/or objects corresponding to a second cluster, storinginformation related to persons and/or objects corresponding to a thirdcluster, ignoring information related to persons and/or objectscorresponding to a fourth cluster, and so forth.

In some embodiments, database access module 3208 may cooperate withdatabase 3210 to retrieve a plurality of captured images or any type ofinformation. Database 3210 may be configured to store any type ofinformation of use to modules 3202-3208, depending onimplementation-specific considerations. For example, in embodiments inwhich action execution database access module 3208 is configured toprovide the information about the identified at least one person orobject to the user of the wearable apparatus 110, database 3210 maystore prior-collected information about the user's social, familial, orother contacts. Further, database 3210 may store the metadata associatedwith the captured images. In some embodiments, database 3210 may storethe one or more images of the plurality of captured images that includethe at least one person or object. In some embodiments, database 3210may store images of known persons, places, or objects, which may becompared with one or more images captured by wearable apparatus 110.Indeed, database 3210 may be configured to store any informationassociated with the functions of modules 3202-3208.

Modules 3202-3208 may be implemented in software, hardware, firmware, amix of any of those, or the like. For example, if the modules areimplemented in software, they may be stored in memory 550, as shown inFIG. 32. However, in some embodiments, any one or more of modules3202-3208 and data associated with database 3210, may, for example, bestored in processor 540 and/or located on server 250, which may includeone or more processing devices. Processing devices of server 250 may beconfigured to execute the instructions of modules 3202-3208. In someembodiments, aspects of modules 3202-3208 may include software,hardware, or firmware instructions (or a combination thereof) executableby one or more processors, alone or in various combinations with eachother. For example, modules 3202-3208 may be configured to interact witheach other and/or other modules of server 250 and/or a wearable camerasystem to perform functions consistent with disclosed embodiments. Insome embodiments, any of the disclosed modules may each includededicated sensors (e.g., IR, image sensors, etc.) and/or dedicatedapplication processing devices to perform the functionality associatedwith each module.

FIG. 33A is a schematic illustration 3300 of an example of a userwearing a wearable apparatus and capturing an image of a person 3222according to a disclosed embodiment. User 100 may wear a wearableapparatus 110 consistent with an embodiment of the present disclosure(as shown in FIG. 9). Capturing unit 710 may be located on an exteriorsurface of the clothing 750 of user 100. Capturing unit 710 may also beconnected to power unit 720 (not seen in this illustration) viaconnector 730, which wraps around an edge of clothing 750. Wearableapparatus 110 may be differently positioned in any suitable location toenable capture of images of the user's environment, such as thelocations explained in detail above. User 100 may be in any location andengaging in any interaction encountered during user's daily activities.For example, user 100 may be at a convenience store, grocery store,sports event, social event, work-related event, movie theater, concert,etc. Wearable apparatus 110 may capture a plurality of images depictingthe environment to which the user is exposed while user 100 is engagingin his/her chosen activity. For example, in the illustrated embodiment,wearable apparatus 110 may capture images that include person 3222.

A captured image may be analyzed to estimate at least one of: an age ofperson 3222, a height of person 3222, a weight of person 3222, a genderof person 3222, and so forth. For example, the analysis may determinethe gender of person 3222 is male. In other embodiments, an image may beanalyzed to identify at least one of: an action associated with theperson, a product associated with the person, a facial expression of theperson, an emotional state of the person, and/or other paralinguisticindicators. For example, as shown in FIG. 33A, the analysis maydetermine person 3222 is smiling and in a happy emotional state. Acaptured image may be analyzed according to any digital processingtechniques, as discussed above with regard to detection module 3202, toidentify person 3222 and to measure an estimated physical distance,using any mechanisms as discussed above with regard to distance module3204, from the user to person 3222.

In some embodiments, capturing unit 710 may capture an image of person3222 and may estimate a distance D to person 3222. Distance D todetected person 3222 may be estimated in accordance with instructionsfrom distance module 3204 to implement at least one of depth imaging,such as: stereo, active stereo, LIDAR, and so forth. For example, in oneembodiment, wearable apparatus 110 may include at least one LIDARsensor. As discussed above, wearable apparatus 110 may be equipped withLIDAR sensors such as avalanche photodiodes (APD) to detect reflectedlight pulses at particular wavelengths. LIDAR systems may also include ascanning mechanism so that an incident laser may scan over multiplepoints on the target person, and may generate 3-D point clouds thatinclude object distance or depth information to provide an estimate ofdistance D to person 3222.

In some examples, distance D to detected person 3222 may be estimatedbased on the size in pixels of person 3222 in the captured images, theposition of person 3222 in the captured images, and possibly on anestimation of the physical size (height and weight) of person 3222. Forexample, if the size in pixels of the person in the captured images isdetermined to be large or covering a large pixel area, a short distanceto the person may be estimated. Conversely, if the size in pixels of theperson in the captured images is determined to be small or covering asmall pixel area, a far distance to the person may be estimated.

In some embodiments, an affinity measurement to the person may bedetermined based, at least in part, on estimated distance D. Forexample, the degree to which user 100 likes or dislikes person 3222 maybe estimated based on distance D. When user 100 likes person 3222,distance D may be small, whereas when user 100 dislikes person 3222,distance D may be large. A social graph (not shown) may also be updatedbased on the affinity measurement. Additional details regarding affinitymeasurements are provided above in connection with FIGS. 26-28B.

FIG. 33B is a schematic illustration of an example of an update of asocial network profile according to a disclosed embodiment. Socialnetwork profile 3310 may be displayed as part of a personalized socialmedia page and linked to a user's social media account. In some cases,social network profile 3310 may include the name 3320 of user 100, andmay further include a captured image of person 3222 during an update aspart of the social network profile 3110. As shown case in FIG. 33B, user3320 “Mike Smith” is linked to his social network profile 3310, andsocial network profile 3310 may include features such as a “News Feed,”“Message,” “Business,” “Shortcuts,” “Events,” “Groups,” “Saved,” and“Pages” functions to customize and control social network profile 3310.User 3320 may post textual, photo, and video content, as well as shareany emoticons or other paralinguistic indicators expressing a currentemotional state of user 3320.

In some embodiments, social network profile 3310 may include anotification or alert to other users that user 3320 is in the company ofthe person 3222. For example, as shown in FIG. 33B, the notification mayinclude a textual posting 3380 that “Mike Smith is with Joe Johnson” andmay include a pictorial posting of person 3222 or an image of “JoeJohnson.” This update may be triggered when it is determined that user100 is within a predetermined threshold distance D to person 3222. Theupdated posting may remain until it is determined that user 100 is nolonger within a predetermined threshold distance D to person 3222. Thisdetermination may be made based on image analysis of a plurality ofimages of person 3222 over a selected period of time. The update mayinclude only one or both of textual and pictorial changes to the socialnetwork profile 3310. In addition, the size of person 3222 as displayedwithin social network profile 3310 may increase or decrease based on adecrease or increase of distance D from user 100 to person 3222. Forexample, the size of person 3222 as displayed may be proportional to thedistance D, to log(D), to exp((D−A)/B) for some constants A and B, toƒ(D) for some monotonically increasing function ƒ, and so forth. Theupdate may further include additional alerts or notifications sent outdirectly to friends included the social network of user 100, and thealerts or notifications may also be distributed as part of a shareablefeed that friends in the social network of user 100 may be able tosubscribe to and/or follow. Mutual friends, and friends not directlypart of the social network of user 100 may also be able to receivealerts or notifications based on adjustable social media settings set byuser 100.

FIG. 33C is a schematic illustration 3330 of an example of a userwearing a wearable apparatus and capturing an image of an object in theenvironment of the user according to a disclosed embodiment. In someembodiments, a plurality of images captured from an environment of auser of a wearable apparatus may be obtained. The plurality of imagesmay be analyzed to detect an object. Tent 3332 may be included in aplurality of captured images.

Capturing unit 710 may capture an image of an object or tent 3332 andmay estimate a distance D to tent 3332. Distance D to detected tent 3332may be estimated using depth imaging, such as: stereo, active stereo,LIDAR, and so forth. For example, in one embodiment, wearable apparatus110 may include at least one LIDAR sensor. As discussed above, wearableapparatus 110 may be equipped with LIDAR sensors such as avalanchephotodiodes (APD) to detect reflected light pulses at particularwavelengths. LIDAR systems may also include a scanning mechanism so thatan incident laser may scan over multiple points on the target object,and may generate 3-D point clouds that include object distance or depthinformation to provide an estimate of distance D to object 3332. In someexamples, distance D to detected tent 3332 may be estimated based on thesize in pixels of tent 3332 in the captured images, the position of tent3332 in the captured images, and possibly on an estimation of thephysical size (length, width, and depth) of tent 3332. A proximitymeasure to tent 3332 may be based, at least in part, on estimateddistance D. For example, the degree to which user 100 is near or farfrom tent 3332 may be determined based on distance D. In addition,information associated with distance D measurement may be stored inmemory and/or transmitted to an external device.

In some embodiments, captured audio data may be captured by a microphoneand analyzed to identify audio topics associated with tent 3332. Forexample, captured audio data may include sounds from nature such asrushing river rapids or other sounds determined near to tent 3332, andmay indicate the location of tent 3332 and/or associated campinggrounds. Consistent with this disclosure, captured lighting data such asintensity or brightness may also be analyzed to determine a time ofdate, sunrise, sunset, and so forth.

FIG. 33D is a schematic illustration of an example of an update of asocial network profile according to a disclosed embodiment. Socialnetwork profile 3340 may be displayed as part of a personalized socialmedia page and linked to a user's social media account. In some cases,social network profile 3340 may include the name 3344 of user 100, andmay further include an image of tent 3332 during an update as part ofsocial network profile 3340. As shown in FIG. 33D, user 3344 “MikeSmith” is linked to his social network profile 3340, and social networkprofile 3340 may include features such as a “News Feed,” “Message,”“Business,” “Shortcuts,” “Events,” “Groups,” “Saved,” and “Pages”functions to customize and control social network profile 3340. User3344 may post textual, photo, and video content, as well as share anyemoticons or other paralinguistic indicators expressing a currentemotional state of user 3344 in association with the detection of objector tent 3332.

In some embodiments, a social network profile 3340 update may include anotification or alert to other users that user 3344 is positioned in thelocation of tent 3332. For example, as shown in FIG. 33D, thenotification may include a textual posting 3390 that “Mike Smith is atLocal Campgrounds,” and may include a pictorial posting of tent 3332.This update may be triggered when it is determined that user 3344 iswithin a predetermined threshold distance D to tent 3332. The updatedposting may remain until it is determined that user 3344 is no longerwithin a predetermined threshold distance D to tent 3332. Thisdetermination may be made based on image analysis of a plurality ofimages of tent 3332 over a period of time. The update may include onlyone or both of textual and pictorial changes to the social networkprofile 3340. In addition, the size of tent 3332 as displayed withinsocial network profile 3340 may increase or decrease based on a decreaseor increase of distance D from user 100 to tent 3332. For example, thesize of tent 3332 as displayed may be proportional to the distance D, tolog(D), to exp((D−A)/B) for some constants A and B, to ƒ(D) for somemonotonically increasing function ƒ, and so forth. In other embodiments,images may be analyzed to estimate at least one of: a location of anobject, such as tent 3332, a GPS position of an object, a brand of anobject, a value or cost of an object, an occupancy status of an object,or other characteristic indicators.

FIG. 34 is a flowchart of an example of a method 3400 for providinginformation to a user of a wearable apparatus. Steps of method 3400 maybe performed by one or more processors of server 250 and/or memory 550and memory modules 3200.

At step 3402, detection module 3202 may detect a person or an object inthe environment of the user of the wearable apparatus. Detection module3202 may operate in a manner similar to data capture module 2601 andperson identification module 2602, as illustrated in FIG. 26. Detectionmodule 3202 may include software instructions for receiving data fromwearable apparatus 110, such as a wearable camera system, and mayinclude software instructions for analyzing data obtained by wearableapparatus 110 to identify a person or an object associated with at leastone person. An object may include, for example, person 3222 or tent3332. In some embodiments, detection module 3202 may detect or identifya subset or portion of the captured data that includes person 3222 orobject 3332. In some embodiments, detection module 3202 may beconfigured to receive a plurality of images that include person 3222 orobject 3332. For example, detection module 3202 may receive a pluralityof images of an environment surrounding a user wearing the wearabledevice 110 and may identify which of the plurality of images includeperson 3222 or object 3332.

In some embodiments, detection analysis may be performed by executing afacial recognition algorithm designed to detect facial features (e.g.mouth, eyes, etc.), facial contours, paralinguistic indicators such asfacial gestures or expressions, body shape, or any other suitableidentifying feature of person 3222. The plurality of images may beanalyzed to estimate an age of person 3222, a height of person 3222, aweight of person 3222, a gender of person 3222, an action associatedwith person 3222, a product associated with person 3222, and an actionassociated with tent 3332 and person 3222 associated with tent 3332. Theanalysis may include extraction of meaningful data and may employdigital processing techniques to identify a person or an object capturedin a digital image.

At step 3404, distance module 3204 may determine a measurement of anestimated physical distance from the user to the detected person and/orobject. For example, wearable apparatus 110 may include at least oneLIDAR sensor. As discussed above, wearable apparatus 110 may be equippedwith LIDAR sensors such as avalanche photodiodes (APD) to detectreflected light pulses at particular wavelengths. LIDAR systems may alsoinclude a scanning mechanism so that an incident laser may scan overmultiple points on the target person, and may generate 3-D point cloudsthat include object distance or depth information to provide an estimateof distance D to person 3222 or tent 3332. In other examples, thedistance to detected person and/or object may be estimated based on thesize in pixels of person 3222 or tent 3332 in the captured images, theposition in the captured images, and possibly on an estimation of thephysical size of person 3222 or tent 3332. In some embodiments, theplurality of images may depict a second object in the environment of theuser of the wearable apparatus, and may determine a second distancemeasurement for basing a transmission. The second measurement mayinclude an estimated physical distance from the user to the secondobject.

At step 3406, transmission module 3206 may transmit, based on thedetermined physical distance measurement, information related to thedetected person and/or object. As discussed, in some embodiments,transmission module 3206 may determine whether to transmit informationin accordance with a predetermined distance threshold (e.g., when thedetermined distance measurement is within the predetermined distancethreshold). Information may be communicated or transmitted from wearableapparatus 110 via a communication device (e.g., wireless transceiver530) to a paired device, such as computing device 120, or an externalserver, such as server 250. In some embodiments, transmission module3206 may provide information to the user of the wearable apparatus 110based on information associated with the at least one person or objectidentified in the captured images.

In some embodiments, information related to the detected object may betransmitted to update at least one of a social graph and a socialnetwork profile. This update may be triggered when it is determined thatuser 100 is within a predetermined threshold distance to to a person orobject. The update may remain in place until it is determined that user100 is no longer within a predetermined threshold distance to the personor object, for a selected time period, until another notificationarrives, and so forth. The update may include a notification of atextual and/or pictorial posting, and may be based on informationrelated to the detected person or object.

In some embodiments, step 3406 of method 3400 may be replaced by othersteps performing other actions with information related to detectedpersons and/or objects based on the determined physical distancemeasurement. For example, method 3400 may provide audible informationabout detected persons and/or objects when the determined physicaldistance measurement corresponding to the detected person and/or objectis smaller than a selected threshold. In another example, the level ofdetails provided to a user (for example, as audible and/or visualoutput) may be determined on the determined physical distancemeasurement corresponding to the detected person and/or object, forexample as described above in connection with FIGS. 26-28B.

Providing a Social Media Recommendation

In some embodiments, wearable apparatus 110 may analyze one or moreimages captured by a wearable image sensor included in the wearableapparatus, obtain information based on analysis of the one or morecaptured images, and generate one or more contact recommendations for atleast one new social network contact based on the obtained information.In some embodiments, the one or more contact recommendations may includenew social network contact recommendations, and the at least one newsocial network contact may be a member of one or more social networks.

Some existing wearable device systems may encounter the technicalchallenge of how to process the information collected by the wearabledevice and use that information to provide useful feedback to the user.Some of the presently disclosed embodiments may address this problem byproviding social media recommendations to the user based on image datacaptured by a wearable device. As such, the recommendations may betargeted as they may be based on information related to persons and/orobjects encountered by the user of the wearable device.

For example, in one embodiment, wearable apparatus (e.g. wearableapparatus 110) may analyze images for providing social mediarecommendations based on images captured in the environment of a user.The analysis may include extraction of meaningful data and may employdigital processing techniques to obtain information captured in adigital image that may be relevant to providing a social mediarecommendation. In some embodiments, the obtained information mayinclude identity information of at least one person present in theenvironment of the user. At least one contact recommendation of the usermay be made based on an interaction with identified people and a lengthof the interaction with identified people. The at least one contactrecommendation of the user may also include a new contact in a socialnetwork. In other embodiments, the obtained information may includeinformation related to an activity or object present in the environmentof the user of the wearable apparatus. For example, the activity mayinclude reading a book and an object may include a book written by anauthor. The obtained information may further include information relatedto the author of the book.

As discussed above, system 200 may comprise a wearable apparatus 110,worn by user 100, and an optional computing device 120 and/or a server250 capable of communicating with wearable apparatus 110 via a network240. Consistent with this disclosure, apparatus 110 may analyze imagedata to obtain information captured in a digital image and may provide asocial media recommendation, as described in greater detail below.Apparatus 110 may also transmit information to computing device 120,which may be, for example, a smartphone or tablet having a dedicatedapplication installed therein. A graphical user interface (GUI)including a plurality of user-adjustable feature social media settingsmay be included on display 260 of computing device 120 to visibly outputsocial media recommendations to an operating user. Additionally oralternatively, server 250 may receive information based on image datacaptured by wearable apparatus 110, server 250 may analyze the receivedinformation to provide a social media recommendation, as described ingreater detail below, and transmit information to computing device 120associated with a user of wearable apparatus 110, which may be, forexample, a smartphone or tablet having a dedicated application installedtherein.

FIG. 35 illustrates an exemplary embodiment of a memory containingsoftware modules consistent with the present disclosure. In particular,as shown, memory 3500 may include an analysis module 3502, aninformation module 3504, a recommendation module 3506, a database accessmodule 3508, and a database 3510. Modules 3502, 3504, 3506, and 3508 maycontain software instructions for execution by at least one processingdevice, e.g., processor 210, included with a wearable apparatus (e.g.,wearable apparatus 110). Analysis module 3502, information module 3504,recommendation module 3506, database access module 3508, and database3510 may cooperate to analyze a captured image, obtain information basedon the analysis, and generate and provide a contact recommendation. Thecontact recommendation may be generated for a user of a wearableapparatus. In some embodiments, the contact recommendation may begenerated for the user of the wearable apparatus and an other person.Further, the contact recommendation may be for a new social networkcontact. In some embodiments, memory 3500 may be included in, forexample, memory 550, discussed above. Further, in other embodiments, thecomponents of memory 3500 may be distributed over more than one location(e.g. stored in a server 250 in communication with, for example, network240).

In some embodiments, analysis module 3502 may analyze at least one imagecaptured by a wearable image sensor included in the wearable apparatusfrom an environment of a user of the wearable apparatus. Analysis module3502 may operate in a manner similar to detection module 3202, asillustrated in FIG. 32 and discussed above. Analysis module 3502 mayinclude software instructions for receiving data from wearable apparatus110, such as a wearable camera system, and may include softwareinstructions for analyzing data obtained by wearable apparatus 110 toidentify a person, activity, or an object associated with at least oneperson. Data received from a wearable camera system may include audioand image data, captured, by, for example, an image sensor or amicrophone associated with the wearable camera system and/or related toan audio topic. Audio data captured by the microphone may identify anaudio topic associated with the person. Image data may include rawimages and may include image data that has been processed. Raw imagesmay be provided, for example, in the form of still images and videodata, either with or without embedded metadata. In some embodiments,image data and audio data may be preprocessed prior to capture byanalysis module 3502. Preprocessing may include, for example, noisereduction, artifact removal, compression, and other image pre-processingtechniques.

In some embodiments, analysis module 3502 may detect or identify asubset or portion of the captured data that includes at least oneperson, activity, or object. In some embodiments, analysis module 3502may be configured to receive a plurality of images that include at leastone person or object. For example, analysis module 3502 may receive aplurality of images of an environment surrounding a user wearing thewearable device 110 and may identify which of the plurality of imagesinclude at least one person or object.

In some embodiments, analysis may be performed by performing a facialrecognition algorithm designed to detect facial features (e.g. mouth,eyes, etc.), facial contours, paralinguistic indicators such as facialgestures or expressions, body shape, or any other suitable identifyingfeature of a person. In other embodiments, at least one person may beidentified using a thermal signature algorithm design to detect thepresence of at least one person based on the heat generated by the atleast one person. In such embodiments, the wearable device 110 maycapture thermal images, either alone or in combination with visualimages, for processing by the thermal signature algorithm. Thermalrecognition of the at least one person may be desirable inimplementations in which wearable device 110 is operating in reducedlighting situations. In some embodiments, at least one person may beidentified through application of one or more classification techniques.For example, at least one image classification technique may be used toclassify at least one feature of an image, such as a particular activityof the user, such as reading a book. In some embodiments, an imageclassification technique may include at least one or more of imageenhancement, edge detection, image analysis, and data extraction.

In some examples, the at least one person may be detected using a facedetection algorithm, using a neural network trained to detect facesand/or persons in images, and so forth. In some examples, the at leastone person may be identified using a face recognition algorithm, using aneural network trained to identify people in images, and so forth. Inother examples, the at least one object may be detected using an objectdetection algorithm, using a neural network trained to detect objectsand/or associated characteristics in images, and so forth. In someexamples, the at least one object may be identified using an objectrecognition algorithm, using a neural network trained to identifyobjects in images, and so forth. Specific examples of the methods foridentifying at least one person or at least one object, such as a book,are exemplary only, and a person of ordinary skill in the art willrecognize other methods for identifying the at least one person orobject that remain consistent with present disclosure.

Information module 3504 may then obtain information based on a result ofthe analysis of the at least one captured image. For example,information module 3504 may be further configured to determine or obtaininformation associated with the at least one person or object identifiedin the image(s). Information module 3504 may, for example, access alocal database (e.g., database 3510) and/or one or more remote databases(e.g., available via server 250) to search for information based on theanalysis. Information that may be obtained for the at least one personmay include a name, nickname, social security number, account number, orany other identifier of the at least one person. Information obtainedfor the at least one object may include a length, width, depth, GPSposition of an object, brand of an object, a value or cost of an object,an occupancy of an object, or any other identifier or characteristicindicator of the at least one object. In some embodiments, informationmodule 3504 may obtain or determine at least one activity of the personin relation to the object, such as a person reading a book, and search alocal or remote database based on the activity or information related tothe activity (e.g., an author of the book being read).

Recommendation module 3506 may then generate at least one contactrecommendation for the user based on the obtained information. In someembodiments, recommendation module 3506 may generate at least onecontact recommendation for at least one new social network contact basedon the obtained information. For example, the at least one contactrecommendation may include a recommendation for a new social networkcontact for the user and/or for a person other than the user. In someembodiments, the new social network contact and the user and/or theperson other than the user may be members of one or more common socialnetworks.

Recommendation module 3506 may facilitate transmission of obtainedinformation and a corresponding recommendation. For example, informationmay be communicated or transmitted from wearable apparatus 110 to apaired device, such as computing device 120, to a device associated withthe user of wearable apparatus 110 and/or a person other than the user,to an external server (such as server 250), and so forth.

In some embodiments, recommendation module 3506 may provide a socialmedia recommendation to the user of the wearable apparatus 110 based oninformation associated with the at least one person or object identifiedin the captured images. The at least one other person may also receive asocial media recommendation.

The at least one contact recommendation may include, for example, anyone or more of a person's name, job title, gender, interests, hobbies,political affiliation (e.g., whether the user and the at least oneperson have worked together in the past), leisure related information(e.g., whether the user and the at least one person have played sportstogether in the past, whether the user and the at least one person arepredicted to be a successful match, whether the at least one person issingle, etc.), matchmaking information (e.g., whether the user and theat least one person have dated in the past), etc. The at least onecontact recommendation may also include, for example, any meaningfuldata related to a detected object or activity such as one or more of adescription of the object, value of the object, brand name of theobject, etc.

In some embodiments, recommendation module 3506 may generate at leastone contact recommendation for the user based also on an affinitybetween the user and the at least one person in a social network, forexample as calculated by step 2810 described above.

In some embodiments, database access module 3508 may cooperate withdatabase 3510 to retrieve a plurality of captured images or any type ofinformation. Database 3510 may be configured to store any type ofinformation of use to modules 3502-3508, depending onimplementation-specific considerations. For example, in embodiments inwhich database access module 3508 is configured to provide theinformation about a detected person, database 3510 may storeprior-collected information about the detected person's social,familial, or other contacts. Further, database 3510 may store themetadata associated with the captured images. In some embodiments,database 3510 may store the one or more images of the plurality ofcaptured images that include the at least one person or object. In someembodiments, database 3510 may store a social graph, such as a socialgraph of a social network. Indeed, database 3510 may be configured tostore any information associated with the functions of modules3502-3510.

Modules 3502-3508 may be implemented in software, hardware, firmware, amix of any of those, or the like. For example, if the modules areimplemented in software, they may be stored in memory 550, as shown inFIG. 35. However, in some embodiments, any one or more of modules3502-3508 and data associated with database 3510, may, for example, bestored in processor 540 and/or located on server 250, which may includeone or more processing devices. Processing devices of server 250 may beconfigured to execute the instructions of modules 3502-3508. In someembodiments, aspects of modules 3502-3508 may include software,hardware, or firmware instructions (or a combination thereof) executableby one or more processors, alone or in various combinations with eachother. For example, modules 3502-3508 may be configured to interact witheach other and/or other modules of server 250 and/or a wearable camerasystem to perform functions consistent with disclosed embodiments. Insome embodiments, any of the disclosed modules may each includededicated sensors (e.g., IR, image sensors, etc.) and/or dedicatedapplication processing devices to perform the functionality associatedwith each module.

FIG. 36A is a schematic illustration of an example 3600 of a userwearing a wearable apparatus and capturing an image of a personaccording to a disclosed embodiment. User 100 may wear a wearableapparatus 110 consistent with an embodiment of the present disclosure(as shown in FIG. 9). Capturing unit 710 may be located on an exteriorsurface of the clothing 750 of user 100. Capturing unit 710 may also beconnected to power unit 720 (not seen in this illustration) viaconnector 730, which wraps around an edge of clothing 750.

As shown, capturing unit 710 may capture an image including person 3622and a processor may determine an identity of a person 3622 for providinga social media recommendation. Further, capturing unit 710 may alsocapture book 3626 and a processor may determine an author of book 3626.

Wearable apparatus 110 may be differently positioned in any suitablelocation to enable capture of images of the user's environment, such asthe locations explained in detail above. User 100 may be in any locationand engaging in any interaction encountered during user's dailyactivities. For example, user 100 may be at a convenience store, grocerystore, sports event, social event, work-related event, movie theater,concert, etc. Wearable apparatus 110 may capture a plurality of imagesdepicting the environment to which the user is exposed while user 100 isengaging in his/her chosen activity. For example, in the illustratedembodiment, wearable apparatus 110 may capture images that includeperson 3622.

A captured image may be analyzed to obtain information in accordancewith software instructions from information module 3504. For example, animage 3630 may be analyzed to obtain information including an age ofperson 3622, a height of person 3622, a weight of person 3622, a genderof person 3622, facial features of person 3622 suitable for facialrecognition analysis, and so forth. For example, the analysis maydetermine the gender of person 3622, named “Veronica” is female. Inother embodiments, an image may be analyzed to identify at least one of:an action or activity associated with the person, a product associatedwith the person, a facial expression of the person, an emotional stateof the person, and/or other paralinguistic indicators. For example, theanalysis may determine “Veronica” is reading a book. Information module3504 may obtain information from image 3630 that may include informationrelated to an activity present in the environment of the user of thewearable apparatus, information related to an object present in theenvironment of the of the wearable apparatus, and identity informationof person 3622 present in the environment of the user of the wearableapparatus. For example, information module 3504 may obtain informationincluding information related to the author of the book “Veronica” isreading.

FIG. 36B is a schematic illustration of an example of generating acontact recommendation 3610 according to a disclosed embodiment. Forexample, in some embodiments, recommendations for new contacts for auser of a wearable apparatus may be based on obtained information fromimage data captured using the wearable apparatus. For example, peopleand objects appearing in captured image data may be identified, andsocial media recommendations may be made based on their identity. Insome embodiments, wearable apparatus 110 may transmit informationincluding social media recommendations across network 240 to computingdevice 120 and/or server 250, and recommendation module 3506 may providea social media recommendation to the user of the wearable apparatus 110based on information associated with the at least one person, activity,or object identified in the captured images.

As shown in FIG. 36B, a GUI displaying a contact recommendation of aprofile image 3630 of person 3622 identified in the captured image as“Veronica” may be provided to the user of the wearable image device 110.Contact recommendation 3610 may be made based on obtained information.For example, the obtained information may indicate that the book“Veronica” is reading is by an author that the user has read. Thecontact recommendation may source user author information from database3510 in accordance with the obtained information prior to providingrecommendation 3610. As shown in FIG. 36B, the user may select button3624 to add “Veronica” as a friend to his social network. The user mayalso select “Comments,” “Information,” and “Buddies” as displayed in theGUI to see comments relating to “Veronica,” obtained information leadingto contact recommendation 3610, and buddies or other contacts that“Veronica” has in her network before deciding to add “Veronica” to hissocial network. In some examples, the system may access a list offavorite authors of the user in database 3510, may determine if theauthor of the book “Veronica” is reading is in the list, and may decidewhether to provide contact recommendation 3610 based on saiddetermination, for example providing contact recommendation 3610 if theauthor is in the list, and not to provide contact recommendation 3610 orto turn to other decision rules if the author is not in the list. Insome examples, the system may measure a distance to “Veronica”, forexample using distance module 3204 described above, and may decidewhether to provide contact recommendation 3610 based on the measureddistance, for example withholding contact recommendation 3610 when themeasured distance is larger than a selected distance. In some examples,the system may determine whether the person is physically present, forexample using physical presence identification module 2002 and/or step2210 described above, and may decide whether to provide contactrecommendation 3610 based on whether the person is present. In someexamples, the system may determine whether the person is visible on adisplay, for example using physical presence identification module 2002and/or step 2240 described above, and may decide whether to providecontact recommendation 3610 based on whether the person is visible on adisplay. In some examples, the system may determine whether the personis visible in a photo, for example using physical presenceidentification module 2002 described above, and may decide whether toprovide contact recommendation 3610 based on whether the person isvisible in a photo.

FIG. 36C is a schematic illustration of an example 3634 of a userwearing a wearable apparatus 110 and capturing an image of person 3520in the environment of the user according to a disclosed embodiment. User100 may wear a wearable apparatus 110 consistent with an embodiment ofthe present disclosure (as shown in FIG. 9) and discussed above inconnection with FIG. 36A.

A show in FIG. 36C, capturing unit 710 may capture an image includingperson 3520 and a processor may determine an identity of a person 3520for providing a social media recommendation. As shown in FIG. 36C, animage of “Sally Cooper” 3520 is captured and information from her imagemay be gathered in the form of a social media recommendation discussedin FIG. 36D.

FIG. 36D is a schematic illustration of an example of generating acontact recommendation 3640 according to a disclosed embodiment. In someembodiments, a contact recommendation may be made based on a level orlength of interaction with at least one other person. For example,social media recommendations may be made and further based on the typeof interaction with identified people, on the length of the interaction,and so forth. As shown in FIG. 36D, the user's interaction with person3520 may yield a social media recommendations. As shown in FIG. 36D, arecommendation to add a new contact “Sally Cooper” may be provided.

As shown, an invite friend window 3642 with an invite friend button 3644based on a suggestion text 3646, e.g. “Mike Smith suggests the followingfriends” may be displayed in a GUI. This recommendation may be made to aperson other than the user or the person in the captured image. Forexample, rather than providing a social media recommendation directly toperson 3520, a social media suggestion to add “Sally Cooper” is providedto another person (e.g., a contact of the user of the wearableapparatus, e.g., Mike Smith).

In some embodiments, second information based on a second plurality ofimages captured by one or more wearable apparatuses may be obtained. Forexample, second information may include information relating to thestretching, exercising, or Yoga posture associated with person 3520.Generating the at least one recommendation may also be based on thesecond information. For example, since person 3520 likes to exercise, asocial recommendation may be made to friends of the user of the wearableapparatus who also like to exercise according to information stored indatabase 3510. In some examples, a plurality of wearable apparatuses maybe associated with a plurality of users to generate a plurality ofsocial media content recommendations. In other embodiments, generatingthe at least one recommendation may also be based on identity of peopleappearing in the plurality of images. In some examples, a plurality ofwearable apparatuses may be associated with a plurality of users,information based on image data captured by two or more wearableapparatuses may be analyzed (for example by analyzing profile 2400described above), and generating the at least one recommendation mayalso be based on the analysis results.

FIG. 37 is a flowchart of an example of a method 3700 for providingrecommendations based on captured images, consistent with disclosedembodiments. Steps of method 3700 may be performed by one or moreprocessors of server 250 and/or memory 550 or memory modules 3500.

At step 3702, analysis module 3702 may analyze at least one imagecaptured by a wearable image sensor. For example, as discussed earlier,analysis module 3702 may analyze the at least one image to detect aperson, an object, and/or an activity. Analysis of a person included inthe at least one image may be performed by performing a facialrecognition algorithm designed to detect facial features (e.g. mouth,eyes, etc.), facial contours, paralinguistic indicators such as facialgestures or expressions, body shape, or any other suitable identifyingfeature of a person.

At step 3704, information module 3504 may obtain information based onthe result of the analysis of the captured image. For example, obtainedinformation in accordance with software instructions from informationmodule 3504 may include an age, a height, a weight, a gender, etc., of aperson detected in the at least one image. In some embodiments, theobtained information may include information related to an activity oran object present in the environment of the user of the wearableapparatus. For example, the object may include a book written by anauthor and the obtained information may include information related tothe author (e.g., stored in database 3510). In some examples, theobtained information may also include identity information of at leastone other person present in the environment of the user of the wearableapparatus 110.

At step 3706, recommendation module 3706 may generate at least onecontact recommendation of the user of the wearable apparatus 110 and/ora person other than the user. The other person may be a person who isknown to or a new social network contact of the user. As discussedearlier, the at least one contact recommendation may include arecommendation for a new social network contact (e.g., a person who is amember of a social network of which the user and/or the at least oneother person may also be members).

At step 3708, recommendation module may provide the contactrecommendation to the user and/or the other person. For example,recommendation module 3506 may provide a social media recommendation tothe user of the wearable apparatus 110 based on information associatedwith the at least one person or object identified in the capturedimages. In some embodiments, the at least one contact recommendation ofthe user may be based on an interaction with identified people and alength of interaction. The contact recommendation may include arecommendation for the user in a user window to add a new friend asshown in FIG. 36B, and/or based on a detected identify of a user in acaptured image. Alternatively, as shown in FIG. 36D, the contactrecommendation may be based on the identity of the user in the capturedimage and provided to another person or user. This recommendation mayinclude a mutual friend of the user and the identified person at aperson deemed worthy of the friendship of the identified person. In someembodiments, the contact recommendation of the user may include a newcontact in a social network. The contact recommendation of the user mayalso include an existing contact in a social network. The contactrecommendation may be provided to one or both of the user and at leastone other person.

Providing Visual Feedback of a Field of View

In some embodiments, a wearable apparatus (e.g., wearable apparatus 110)may include at least one image sensor and at least one projectorconfigured to move together, and the projector may be configured to emita light pattern that shows the borders of the field of view of the atleast one image sensor.

In some examples, the at least one projector may be controlled by aprocessing unit, such as processing unit 210. The processing unit mayactivate and/or deactivate the at least one projector. In some examples,the at least one projector may be activated and/or deactivated based, atleast in part, on a visual trigger appearing in images captured usingthe at least one image sensor. In some examples, the at least oneprojector may be activate and/or deactivated based, at least in part, onvisual context associated with images captured using the at least oneimage sensor.

In some embodiments, a wearable apparatus (e.g., wearable apparatus 110)may obtain a plurality of images captured from an environment of a userof the wearable apparatus. The plurality of images may be analyzed toidentify a visual trigger. At least one projector may be configured toproject a light pattern, for example based on the identification of thevisual trigger. In some examples, the light pattern may be indicative ofa field of view of an image sensor. In some examples, the light patternmay comprise two parallel lines; for example, two parallel lines showingtwo borders of the field of view of the image sensor. In some examples,the light pattern may comprise two perpendicular lines; for example, twoperpendicular lines showing two borders of the field of view of theimage sensor. In some examples, the light pattern may comprise lines ordashes in a rectangular pattern; for example, a rectangular patternshowing the borders of the field of view of the image sensor.

As discussed earlier, the visual trigger that may activate and/ordeactivate the at least one light projector may comprise a hand gesture.In some examples, the visual trigger may comprise a textual documentappearing in the plurality of images. In some examples, a first visualtrigger may appear in at least a first one of a plurality of images toactivate at least one projector. The at least one projector may also bedeactivated, for example, after being activated for a selected duration,after a second visual trigger is identified, and so forth. The secondtrigger may appear in at least a second of the plurality of images.

FIG. 38A provides a diagrammatic view of wearable apparatus 110,including glasses 130 fitted with image sensor system 220, which mayinclude a light projector 3802, such as the light projector describedabove. As discussed, light projector 3802 may provide feedback to theuser of wearable apparatus 110 of a field of view associated with one ormore image sensors provided on the wearable apparatus. In such a way,the user may be informed, through a visual guide, of where the imagesensor or image sensors of the apparatus are aimed, what those sensors“see,” and/or what area of text or object that the processing device mayeffectively analyze through processing of images captured by the imagesensor(s).

For example, in some embodiments, a wearable apparatus (e.g., wearableapparatus 110) equipped with light projector 3802 may assist a visuallyimpaired user of the wearable apparatus by providing the user with anindication of a field of view of one or more image sensors included inthe wearable apparatus. Such information may help the user provide inputto the wearable apparatus through the use of gestures, which may act astriggers for causing the wearable apparatus to undertake certainactions.

Although FIG. 38A depicts light projector 3802 as surrounding imagesensor system 220, light projector 3802 may be arranged in anappropriate manner or location on wearable apparatus 110. For example,light projector 3802 may be located above, below, or beside image sensorsystem 220. In some embodiments, light projector 3802 may be attached toa side surface of wearable apparatus 110 (e.g., positioned on a surfaceother than the surface including image sensor system 220) or included ina component attached to wearable apparatus 110. Any appropriate locationand positioning of light projector 3802 is contemplated.

In some embodiments, light projector 3802 and image sensor system 220may be configured to move with the head of the user, for example bybeing connected and/or mounted to glasses 130 as depicted in FIG. 38A.

Although the example shown on FIG. 38A shows apparatus 110, includingglasses 130 fitted with image sensor system 220, in other embodiments, alight projector (such as light projector 3802) may be included in any ofthe variations of wearable apparatus 110 shown in FIGS. 1-16, and in theexample shown in FIG. 38B.

FIG. 38B shows an example of a wearable apparatus that can be secured toan article of clothing, consistent with disclosed embodiments. Inparticular, FIG. 38B provides a diagrammatic view of a wearableapparatus 3800, including a capturing unit 3804 fitted with image sensorsystem 220. Capturing unit 3804 may be located on an exterior surface ofthe clothing 750 of user 100. Capturing unit 3804 may be connected topower unit 720 (not seen in this illustration) via a connector, whichmay wrap around an edge of clothing 750. Capturing unit 3804 may furtherinclude a light projector, such as light projector 3802 described above.Consistent with this disclosure, light projector 3802 may generate lightand project light onto a surface, object, text, etc., in an environmentof the user. Although FIG. 38B depicts light projector 3802 assurrounding image sensor system 220, light projector 3802 may bearranged in an appropriate manner or location on wearable apparatus3800, as discussed above in connection with FIG. 38A.

Light projector 3802 may be configured to include any component orcomponents capable of generating light and projecting light onto asurface, object, text, etc., in an environment of the user. In someembodiments, light projector 3802 may include a light emitting diode(LED). In some embodiments, light projector 3802 may include an array ofLEDs. The array of LEDs may be positioned in any suitable arrangement,such as around an aperture of an image sensor associated with system220, for example. In some cases, light projector 3802 may include one ormore light path altering structures. For example, light projector 3802may include one or more lenses to direct light from a light source ontoa surface or object, etc., in an environment of the user along a desiredlight path. Light projector 3802 may also include one or more lighthoods or shrouds to aid in selectively illuminating only a portion of asurface or object in an environment of the user (e.g., by blocking lightor otherwise reducing or limiting a light field emitted from one or morelight sources of light projector 3802).

In addition to LEDs, light projector 3802 may also include one or moresolid state lasers. Such lasers (and/or LEDs) may be used to illuminatea fixed area relative to a surface or object in an environment of theuser. In other embodiments, however, lasers and/or LEDs may beconfigured to scan at least a portion of a surface or object in anenvironment of the user. For example, such scanning light sources may bescanned over a particular pattern such that portions of the pattern areilluminated at different times. A scan may be associated with a lightingprofile comparing light intensity over the scan pattern as a function oftime. At relatively low scan rates (e.g., 30 Hz or below), the scanningof the pattern may be perceptible to a user. At higher scan rates (e.g.,30 Hz or above, 60 Hz or above, or even higher), scanning of the patternmay be more difficult to discern. For certain light sources and scanrates, the scanned light pattern may appear to a user as a continuouslyilluminated pattern.

FIG. 39 provides a diagrammatic illustration of one example of a type ofvisual feedback that light projector 3802 in FIG. 38A may provide to auser of wearable apparatus 110. For example, light projector 3802 maygenerate a light projection pattern 3902 that illuminates one or moresurfaces or objects in an environment of the user. As shown in FIG. 39,light projection pattern 3902 is illuminating a text book 3906 includingmultiple lines of text 3908 with a light incident pattern 3904. Asshown, light incident pattern 3904 includes a series of dashed linesroughly arranged in a rectangular outline pattern. Light projector 3802may provide visual feedback to the user to indicate that wearableapparatus 110, including one or more image sensors and/or one or moreprocessing devices associated with wearable apparatus 110, is able tocapture and/or process images from a field of view at least partiallyoverlapping with an area bounded by light incident pattern 3904. In somecases, image capture area can be substantially the same as the areabounded by light incident pattern 3904. In this way, a user may betterunderstand what the apparatus “sees” and, therefore, whether theapparatus will be able to provide information relative to an object,etc., within the environment of the user. If the light incident pattern3904 does not align with an area of interest to the user, the user canreposition his or her head and facing direction until light incidentpattern 3904 surrounds or covers an area of interest (e.g., text, banknote, object portion, person, etc.) in an environment of the user.

In some embodiments, as discussed above, wearable apparatus 110 may besecurable to clothing, such as shown in FIG. 39B. In such embodiments,wearable apparatus 110 and light projector 3802 may operate in asubstantially similar manner as shown in FIG. 39 to project a lightprojection patter that illuminates one or more surfaces or objects in anenvironment of a user.

Moreover, light incident pattern 3904 is not limited to the dashedoutline pattern shown in FIG. 39. Rather, any suitable illuminationpattern for providing visual feedback to the user may be employed. FIGS.40A-40H provide several examples of various patterns that can begenerated by light projector 3802. For example, light incident pattern3904 can have a circular or elliptical outline pattern (FIG. 40A), arectangular/square outline pattern (FIG. 40B), a dashed pattern (FIG.40C), one or more illuminated dots (FIG. 40D), a rectangular/squaresolid illumination pattern (FIG. 40E), a circular or elliptical solidillumination pattern (FIG. 40F), two parallel horizontal lines (FIG.40G), two parallel vertical lines (FIG. 40H), or any other suitablepattern.

Light incident pattern 3904 may also comprise one or more colors. Insome embodiments, pattern 3904 may be created by white light, red light,green light, blue light, or any other color or combination of colors.

There may also be various ways to initiate illumination by lightprojector 3802. In some cases, light projector 3802 may be illuminatedin response to a user input. For example, the user may manually activatea switch, button, etc. to change illumination states of the lightprojector 3802 (e.g., from OFF to ON or from ON to OFF). In some cases,the user may control operation of light projector 3802 through voicecommands. In addition to changes in illumination state, otheroperational characteristics of the light projector may also becontrolled by the user. For example, the user may control a brightnesslevel associated with light generated by the light projector, may changecolors of one or more portions of light incident pattern 3904, or maycontrol any other operational characteristic of light projector 3802. Asdiscussed above, operation of light projector 3802 may occurautomatically. For example, light projector 3802 may be activated,deactivated, dimmed, etc. by at least one processing device in responseto a detected trigger (e.g., a gesture by the user, including pointing,hand wave, or any other gesture), in response to a detected type ofobject (e.g., text, bank note, etc.), in response to an object detectedin the user's hand, or any other type of trigger. In another example,light projector 3802 may be activated, deactivated, dimmed, etc. by atleast one processing device in response to a determination that a textand/or an object of interest is partially captured by an image sensor,for example as determined by analyzing images captured using the imagesensor. Light projector 3802 may also be controlled based on an amountof time that an object remains present in a field of view of the user.For example, if an object lingers in a field of view of the user formore than 1 second, 2 seconds (or any other suitable time threshold),then the at least one processing device may determine that the userwould like information about the object and may take one or more actionsrelative to the object, including illuminating at least a portion of theobject with an incident light pattern 3904. As discussed in FIG. 5A,apparatus 110 may also include microphone, which may initiateillumination by light projector 3802. For example, a processing devicemay change, based on a voice command captured at the microphone, anillumination state of light projector 3802, a color of the lightpattern, or a shape of the light pattern.

Alignment of light incident pattern 3904 with an active field of view ofone or more image sensors associated with wearable apparatus 110 may beaccomplished with an adjustment component and/or in various ways. Forexample, in some embodiments, the user may be prompted (e.g., by audiblesignals or voice instructions) generated by at least one processor inresponse to the processor's analysis of one or more images captured byan image capture device (e.g., camera) associated with apparatus 110.Such an alignment procedure may occur through the processor causinglight projector to turn ON and analyzing at least one image captured bya camera associated with apparatus 110 to detect the presence of lightincident pattern 3904 on a surface or object represented by the capturedimage. If the light incident pattern is fully present in the capturedimage, then no alignment may be needed. However, if only a portion ofthe incident pattern present in the captured image, the processor mayinstruct the user (e.g., voice commands, audible signals, visibleguides, etc.) to manipulate one or more alignment controls (set screws,knobs, etc.) until the incident pattern is sufficiently present in oneor more subsequently captured images. Such an alignment process can alsobe fully automatic. That is, rather than instructing the user tomanipulate one or more adjustments to align light incident pattern 3904with an operational field of view of the image capture device(s), theprocessor may automatically control one or more adjusters to align lightincident pattern 3904 with the field of view of the image capturedevice(s). Such adjusters may include, e.g., micromotors for adjustingset screws, splined or threaded rods (e.g., screw drive units),piezoelectric steppers, or any other type of electromechanicaladjustment device.

FIG. 41 is a flowchart of an example of a method 4100 for providingvisual feedback to a user of a wearable apparatus, such as wearableapparatus 110 or wearable apparatus 3800, consistent with disclosedembodiments. Some of the steps of method 4100 may be performed by atleast one processor, which may execute software instructions stored in,for example, memory 550.

At step 4102, the wearable apparatus may capture, via image sensorsystem 220 included in the wearable apparatus, a plurality of imagesfrom an environment of the user of the wearable apparatus. For example,glasses 130 may be fitted with image sensor system 220, as shown in FIG.38A. Alternatively, as shown in FIG. 38B, capturing unit 3804 may befitted with image sensor system 220. Capturing unit 3804 may be located,for example, on an exterior surface of the clothing 750 of user 100 andas such may be positioned so that image sensor system 220 may captureimages from the environment of user 100.

At step 4104, the at least one processor may activate a projectorincluded in the wearable apparatus based on a visual trigger appearingin a plurality of images. In some embodiments, the activation may occurin response to a user input. The user input may include a voice commandor an input associated with a depressible button or other input deviceof the wearable apparatus. In some embodiments, the activation may bebased at least one a visual trigger appearing in at least one of theplurality of images or based on at least an amount of time that anobject remains present in the active field of view of the at least oneimage sensor. In some embodiments, the activation may be based on adetermination that images captured in step 3802 include only partialview of a text and/or an object of interest. For example, adetermination that images captured in step 3802 include only partialview of a text may be made based on a detection of a partial view ofletters at the edge of the images. In another example, a determinationthat images captured in step 3802 include only partial view of a textmay be made based on a natural language processing of textualinformation obtained by analyzing the images using OCR algorithms. In athird example, a determination that images captured in step 3802 includeonly partial view of an object may be made by analyzing the images witha classifier and/or a neural network trained to identify and/or detectpartial views of objects.

At step 4106, light projector 3802 may emit a light pattern to visuallyindicate to the user of the wearable apparatus an active field of viewof the image sensor. For example, the light pattern may include acircular or elliptical outline pattern, a rectangular outline pattern, asquare outline pattern, a dashed pattern, one or more illuminated dots,a rectangular solid illumination pattern, a square solid illuminationpattern, a circular solid illumination pattern, an elliptical solidillumination pattern, two parallel horizontal lines, or two parallelvertical lines. In some embodiments, the light pattern may coincide withone or more borders of the active field of view of the at least oneimage sensor. In some embodiments, the light pattern may also beincluded with the active field of view of the at least one image sensoror the light pattern may substantially overlap with the active field ofview of the at least one image sensor.

The foregoing description has been presented for purposes ofillustration. It is not exhaustive and is not limited to the preciseforms or embodiments disclosed. Modifications and adaptations will beapparent to those skilled in the art from consideration of thespecification and practice of the disclosed embodiments. Additionally,although aspects of the disclosed embodiments are described as beingstored in memory, one skilled in the art will appreciate that theseaspects can also be stored on other types of computer readable media,such as secondary storage devices, for example, hard disks or CD ROM, orother forms of RAM or ROM, USB media, DVD, Blu-ray, Ultra HD Blu-ray, orother optical drive media.

Computer programs based on the written description and disclosed methodsare within the skill of an experienced developer. The various programsor program modules can be created using any of the techniques known toone skilled in the art or can be designed in connection with existingsoftware. For example, program sections or program modules can bedesigned in or by means of .Net Framework, .Net Compact Framework (andrelated languages, such as Visual Basic, C, etc.), Java, C++,Objective-C, HTML, HTML/AJAX combinations, XML, or HTML with includedJava applets.

Moreover, while illustrative embodiments have been described herein, thescope of any and all embodiments having equivalent elements,modifications, omissions, combinations (e.g., of aspects across variousembodiments), adaptations and/or alterations as would be appreciated bythose skilled in the art based on the present disclosure. Thelimitations in the claims are to be interpreted broadly based on thelanguage employed in the claims and not limited to examples described inthe present specification or during the prosecution of the application.The examples are to be construed as non-exclusive. Furthermore, thesteps of the disclosed methods may be modified in any manner, includingby reordering steps and/or inserting or deleting steps. It is intended,therefore, that the specification and examples be considered asillustrative only, with a true scope and spirit being indicated by thefollowing claims and their full scope of equivalents.

What is claimed is:
 1. A wearable apparatus, the wearable apparatuscomprising: at least one image sensor configured to capture a pluralityof images from an environment of a user of the wearable apparatus, thewearable apparatus configured to be secured to an object worn by theuser; at least one projector configured to emit a light patternconfigured to visually indicate to the user of the wearable apparatus anactive field of view of the at least one image sensor; and at least oneprocessing device programmed to activate or deactivate the at least oneprojector based at least on an amount of a time that an object remainspresent in the active field of view of the at least one image sensor. 2.The wearable apparatus of claim 1, wherein the light pattern coincideswith one or more borders of the active field of view of the at least oneimage sensor.
 3. The wearable apparatus of claim 1, wherein the lightpattern is included within the active field of view of the at least oneimage sensor.
 4. The wearable apparatus of claim 1, wherein the lightpattern overlaps with the active field of view of the at least one imagesensor.
 5. The wearable apparatus of claim 1, wherein the at least oneprocessing device is further programmed to activate or deactivate the atleast one projector in response to a user input.
 6. The wearableapparatus of claim 5, wherein the user input includes a voice command oran input associated with a depressible button of the wearable apparatus.7. The wearable apparatus of claim 1, wherein the at least oneprocessing device is further programmed to activate or deactivate the atleast one projector based at least on a visual trigger appearing in atleast one of the plurality of images.
 8. The wearable apparatus of claim7, wherein the visual trigger includes a hand gesture.
 9. The wearableapparatus of claim 7, wherein the visual trigger includes an appearanceof a document or a bank note.
 10. The wearable apparatus of claim 7,wherein the visual trigger includes detecting an object in a hand of theuser.
 11. The wearable apparatus of claim 1, wherein the at least oneprocessing device is further programmed to: activate the at least oneprojector based at least on a first visual trigger appearing in at leasta first one the plurality of images; and deactivate the at least oneprojector based at least on a second visual trigger appearing in atleast a second one of the plurality of images.
 12. The wearableapparatus of claim 1, wherein the at least one processing device isfurther programmed to activate or deactivate the at least one projectorbased at least on a visual context associated with at least one of theplurality of images.
 13. The wearable apparatus of claim 1, wherein thelight pattern includes at least two parallel lines, each of the twoparallel lines being associated with a border of the active field ofview of the at least one image sensor.
 14. The wearable apparatus ofclaim 1, wherein the light pattern includes at least two perpendicularlines, each of the two perpendicular lines being associated with aborder of the active field of view of the at least one image sensor. 15.The wearable apparatus of claim 1, wherein the light pattern includeslines or dashes in a rectangular pattern, the rectangular pattern beingassociated with a border of the active field of view of the at least oneimage sensor.
 16. The wearable apparatus of claim 1, wherein theprojector includes one or more light path altering structures, one ormore light hoods, or one or more shrouds.
 17. The wearable apparatus ofclaim 1, wherein the projector includes one or more solid state lasers.18. The wearable apparatus of claim 17, wherein the one or more solidstate lasers are configured to scan at least a portion of a surface orobject in the environment of the user.
 19. The wearable apparatus ofclaim 1, wherein the light pattern includes a circular or ellipticaloutline pattern, a rectangular outline pattern, a square outlinepattern, a dashed pattern, one or more illuminated dots, a rectangularsolid illumination pattern, a square solid illumination pattern, acircular solid illumination pattern, an elliptical solid illuminationpattern, two parallel horizontal lines, or two parallel vertical lines.20. The wearable apparatus of claim 1, further comprising a switch or abutton configured to change an illumination state of the projector. 21.The wearable apparatus of claim 1, further comprising a microphone,wherein the at least one processing device is further programmed tochange, based on a voice command captured at the microphone, anillumination state of the projector, a color of the light pattern, or ashape of the light pattern.
 22. The wearable apparatus of claim 1,further comprising an adjustment component configured to align the atleast one projector with the active field of view of the at least oneimage sensor.
 23. The wearable apparatus of claim 22, wherein theadjustment component includes one or more micromotors, one or moresplined or threaded rods, or one or more piezoelectric steppers.
 24. Thewearable apparatus of claim 1, wherein the object worn by the user isglasses.
 25. The wearable apparatus of claim 1, wherein the object wornby the user is an article of clothing.
 26. A method for providing visualfeedback to a user of a wearable apparatus, the method comprising:capturing, via at least one image sensor included in the wearableapparatus, a plurality of images from an environment of the user of thewearable apparatus, the wearable apparatus configured to be secured toan object worn by the user; activating at least one projector includedin the wearable apparatus based at least on a visual trigger appearingin at least one of the plurality of images; emitting, via the at leastone projector, a light pattern configured to visually indicate to theuser of the wearable apparatus an active field of view of the at leastone image sensor; and activating or deactivating the at least oneprojector based at least on an amount of a time that an object remainspresent in the active field of view of the at least one image sensor.27. The method of claim 26, further comprising: activating ordeactivating the at least one projector in response to a user input. 28.The method of claim 27, wherein the user input includes a voice commandor an input associated with a depressible button of the wearableapparatus.
 29. A non-transitory computer-readable medium that storesinstructions that, when executed by at least one processing device,cause the at least one processing device to perform operationscomprising: receiving, from at least one image sensor included in thewearable apparatus, a plurality of images from an environment of theuser of the wearable apparatus, the wearable apparatus configured to besecured to an object worn by the user; activating at least one projectorincluded in the wearable apparatus based at least on a visual triggerappearing in at least one of the plurality of images; causing the atleast one projector to emit a light pattern configured to visuallyindicate to the user of the wearable apparatus an active field of viewof the at least one image sensor; and activating or deactivating the atleast one projector based at least on an amount of a time that an objectremains present in the active field of view of the at least one imagesensor.